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数据库引擎,广泛使用