![]() |
1
1
据我所知,配置库在不同的项目上共享,并为每个项目使用不同的定义。 在这种情况下,无论boost build.或任何其他构建系统如何,都不可能克服重新编译。在cpp文件的编译之间,预处理的文件 有 改变。
如果要避免重新编译,一个选项是将配置库拆分为每个项目的不同库,但取决于
我唯一能想到的另一个选择是减少每次需要重新编译的代码量。
e、 g.你有一个源文件
将其拆分为三个文件,一个文件包含为DEFINE{1定义的VeryLargeFunction,一个文件包含为DEFINE{2定义的VeryLargeFunction,另一个文件根据DEFINE的值简单地包含这两个文件。
此文件仍然需要每次重新编译,但包含“真实”代码的对象文件将不会。 您将只在每个编译中重新存在现有的对象文件,I.S.O重新编译所有的内容。 缺点是更多的维护,不同的函数定义存在于不同的文件中,所以代码变得有点难读。 |