C开源项目

学习C语言是一个长期的实践过程,有一些开源项目适合参考学习,并通过代码解析、修改来体会和借鉴优秀开源项目:

  • 尽量选择简洁和经典的开源项目: 2000行以内最好,其次是一万行以内的

  • 有些开源项目经过多年迭代已经非常复杂,不利于学习: 可以选择早期有代表性的版本

  • 刚开始学习的方法是抄一遍,编译,debug,加入自己的想法和目标进行修改,慢慢理解,最终融汇贯通: 这是一个非常耗时的过程,但是也是最好的学习方式

备注

以下一些项目摘抄作为参考,有待实践

开源项目精选

  • GitHub: Lua Lua是ANSI C编写,代码量少而精巧(1.5w)

  • GitHub: libevent libevent是开源事件驱动库,是学习事件驱动编程的资源

  • GitHub: redis KV数据库,并且有业内<Redis设计与实现>书指导,应用非常广泛

  • GitHub: Seafile 云存储系统提供权限保护和协作功能

  • GitHub: zlog 高性能C日志库,代码2k行

  • GitHub: FFmpeg 多媒体处理库,大多数视频转换处理软件的基础

  • SQLite 简洁的高性能SQL数据库引擎,广泛使用

参考