Skip to content
📖 Auto 版 The Little Book of C本书目录

第9章:构建真实项目 ​

第 91--100 节 之前学到的所有知识将汇合在一起。构建库、工具、服务器和解析器。

前面的章节介绍了 C 的基础构建块和 Auto 更安全的替代方案。现在是时候构建真正的软件了。 本章将通过完整的项目进行讲解——从小型库到 CLI 工具、HTTP 服务器和文本解析器。

每节都同时展示 C 方法(你需要手动编写的代码)和 Auto 方法(你实际编写的代码)。 学完本章后,你将掌握构建自己项目所需的模式。


91. 设计小型库 ​

一个好的库有清晰的 API、最少的依赖和可组合的构建块。

C 库的模式:

  • 头文件(.h)声明公共 API
  • 实现文件(.c)包含逻辑
  • 所有名称加前缀以避免冲突(例如 vec2_add、vec2_length)
c
/* vec2.h */
typedef struct { float x; float y; } Vec2;
Vec2 vec2_new(float x, float y);
Vec2 vec2_add(Vec2 a, Vec2 b);
float vec2_length(Vec2 v);

Auto 库的模式:

  • 类型将相关数据分组
  • 类型上的方法提供 API
  • mod 和 use 组织模块
auto
type Vec2 { x float, y float }
fn Vec2.new(x float, y float) Vec2 { ... }
fn Vec2.add(a Vec2, b Vec2) Vec2 { ... }
fn Vec2.length(v Vec2) float { ... }

Auto 的方法语法保持 API 简洁。类型名充当命名空间,取代了 C 的手动前缀约定。

基于 MIT 许可发布。