📦 十个能跑起来的 C 语言项目,从 SHA-512 写到编译器
GitHub 上 2.2K stars
学 C 语言最难受的阶段,是语法都懂了但不知道能拿它干什么。刷题写的都是几十行的孤立函数,离"做出一个东西"差着十万八千里。
这个仓库放了十个完整项目,每个都带源码、构建配置和说明文档:SHA-512 实现、HTTP 服务器、UDP 客户端服务器、端口扫描器、Ping、井字棋、聊天系统、词法分析器、算术编译器和小行星游戏。
难得的是它覆盖了几个真正长功力的方向:网络那部分把 TCP、UDP、HTTP、ICMP、套接字和原始套接字都摸了一遍;编译器那部分从词法分析、表达式解析一路做到类汇编代码生成。构建环境就是 GCC、G++、Make 和 CMake。
有个细节要注意,端口扫描和 Ping 用了原始套接字,跑起来需要管理员权限。
写完这十个,C 语言就不只是语法了。
GitHub:
顯示更多