发布 CLI、crate 和版本管理
C 项目交付给别人用时,问题通常不在“源码能不能编译”,而在这些细节:
工具怎么安装到 PATH
库文件和头文件放在哪里
用户该链接哪个版本
升级会不会破坏已有代码
公开 API 改了算不算兼容
二进制 ABI 能不能长期稳定
Rust 也要处理这些问题。只是发布对象分成了两类:
阅读更多C 项目交付给别人用时,问题通常不在“源码能不能编译”,而在这些细节:
工具怎么安装到 PATH
库文件和头文件放在哪里
用户该链接哪个版本
升级会不会破坏已有代码
公开 API 改了算不算兼容
二进制 ABI 能不能长期稳定
Rust 也要处理这些问题。只是发布对象分成了两类:
阅读更多命令行工具的输出不是随便打印几行文本。对 shell、CI 和其他程序来说,它的接口通常是三件事:
stdout -> 正常数据
stderr -> 诊断信息、错误信息
exit code -> 成功或失败
C 里通常写:
阅读更多