workspace、feature 和构建配置
C 项目长大以后,通常会出现这些东西:
多个静态库和命令行工具
公共头文件和内部头文件
Makefile 子目录
CONFIG_XXX / #ifdef 开关
Debug/Release 编译选项
目标平台差异
Rust 项目也会遇到同样的问题,只是工具名字不同:
workspace -> 管多个 crate
crate -> 一个库或一个可执行目标的边界
feature -> 可选能力和可选依赖
profile -> debug/release 等构建参数
cfg -> 平台和条件编译
这一篇不讲 Cargo 全部语法,只讲写库、CLI 和 C/Rust 边界时最常用的工程组织方式。
阅读更多