碰巧读过之前大家提到的一些开源项目

网络编程:

redis是单线程异步网络编程的范例

nginx是多进程网络编程的巅峰,模块化

memcached虽然是C++,但是C style的,多线程网络编程的巅峰

数据结构&数据库:

SQLite,数据理论的范例。注意要去读非合并源文件版的(为了方便编译器优化,有个单文件版的)

大杂烩类型

:Coreutils – GNU core utilities,大多数Linux系统命令的实现

Python源代码(CPython,注意不是Cython),多少次遇到百思不得其解的问题,我都是去看看Python是怎么封装成简单可靠的接口的,比如我回答的Linux TCP connect with Select() fails at testserver,还有怎么实现一个可靠的带自定义超时的connect(),你都可以从Python源码里找到答案。

Varnish,大名鼎鼎的Varnish缓存服务器,每个线程处理一个连接的架构。但这货的配置文件处理方面做的很优秀,想要研究DSL的同学可以看一下。

找虐:

The BIRD Internet Routing Daemon Project,宏玩得飞起

Kernel,很容易挫伤初学者积极性

glibc、ssh,这类程序都是上个世纪的大神们的作品,从编程风格和整体架构上都属于晦涩难懂的,代码风格也是现代编程所不推荐的,建议初学者远离。我建立了一个C语言学习交流群,在群里有很多新手教程和大神交流q群,怎么找到先搜索178在加上923最后还有056,这样你就可以找到组织一起学习,群里人很多都是新手在大神的帮助下,已经成长为高薪工程师,你不来对我们没有任何损失,但是只要你来了基本可以有很多的收获。

文章来源于互联网:C 语言进阶有哪些优秀的代码可以阅读?

发表评论