而且网络聊天软件很有趣,做起来也没那么枯燥,做好了之后发给你女神一个专属客户端,你们在你自己写的软件里聊天,边聊天边吹牛,岂不美哉!
这个阶段涉及不同课程的知识,应该花费比较长的时间。我建议代码要一行一行的写,就像饭要一口一口的吃,点赞、评论、收藏三连要边看边支持。
项目中每一行代码都要搞明白什么意思,这样你才能写出健壮的、没有bug的代码。
我在写这个稿子的时候专门去找了一些开源的聊天软件,没有找到我想要的C语言的windows+linux这样组合的,并且适合新手的项目。
不知道小伙伴们对这个学习路径是否认可,对这样的项目是否有兴趣,我就大言不惭的在此立下一个flag,如果这篇文章的点赞数超过100,我就实现一套适合自学的代码,分享给大家。
4. 老司机
那么接下来呢,就来到了C语言学习的最后一个阶段:老司机阶段。
这个阶段不再需要学习基础知识,而是要开始向高手、向大师学习了。
使用广泛、经得起时间考验的开源代码是这个阶段最好的学习资料,我列出了几个网络行业相关的C语言的开源项目,这也是我在工作中经常接触到的项目。
有JSON格式数据的解析库cjson、最小的http服务器tinyhttpd、高性能的http服务器nginx,还有物联网常用的传输协议mqtt,如果想学习tcp与udp的实现,有个协议栈找叫lwip,与linux内核的网络协议栈相比,代码量少了不是一星半点,非常适合学习。
我不知道你是什么行业,你所在的行业又有哪些著名的开源C项目,欢迎留言分享给大家!我相信它们都可以拿来做自学的材料。
刚开始学习开源代码肯定是一脸懵B的,你会惊呼,C语言还能这样写?你会怀疑,我眼前的代码还是那个熟悉的C语言么。
相信我,每个人都是这样的,我总结了几个学习源码的方法也分享给大家,这个脑图后面也有:
首先要保证代码是没有错误可以直接运行的,不然一运行就出错,就没有办法继续下去;
接着我们要先从整体上理解整个项目的功能是什么,它的输入是什么,输出是什么,先在头脑里有个预期;
在看代码的时候可以只关注数据结构中最关键的字段和最关键的语句,与主干逻辑无关的代码可以直接忽视掉。
进阶机阶段是学习的是怎么使用接口,老司机阶段就是学习怎么实现接口了。能看明白开源代码,能讲明白实现原理,你