C 语言进阶有哪些优秀的代码可以阅读?

C 语言进阶有哪些优秀的代码可以阅读?

auxtenauxten
之前回答过一个问题,意外的被很多人收藏:C 语言进阶有哪些优秀的代码可以阅读? - auxten 的回答,现在又补充了一些内容,希望对大家有用。


网络编程:

  • 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的同学可以看一下。
  • vixie-cron,我们常用的crond。pipe的使用非常的精妙,完美的示范了“如何巧妙的异步非阻塞处理多进程输出”。

找虐:

  • The BIRD Internet Routing Daemon Project,宏玩得飞起
  • Kernel,很容易挫伤初学者积极性
  • glibc、ssh,这类程序都是上个世纪的大神们的作品,从编程风格和整体架构上都属于晦涩难懂的,代码风格也是现代编程所不推荐的,建议初学者远离。
「真诚赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
文章被以下专栏收录
8 条评论