CMake构建实战:项目开发卷
上QQ阅读APP看书,第一时间看更新

1.6 旅行笔记

我们的旅途伴随了不同的开发环境,经历了不同的构建目标类型,书写了不同的命令参数,构建了二进制不同的程序。放眼望去,处处不同。然而,即便是环境不同,类型不同,命令不同,二进制不同,只要代码相同,运行结果就相同。多么不可思议呀!

这就是可移植代码的魅力,它让构建跨平台程序成为可能:一次编写,到处编译。

可移植代码的“一次编写”其实未必很难:只需尽量使用标准库和成熟的可移植性强的跨平台第三方库,尽量避免直接调用平台相关的API,转而采用条件编译等技巧。然而,“到处编译”听起来就是一件麻烦的事情,这也是本书的焦点所在。

在这段旅行接近尾声的时候,不妨一起来整理一下“到处编译”的共同需求,总结出共通之处,形成通用的构建模型。