Sma*_*acL 4 c++ incremental-linking release-builds
对于我使用Visual C++的大多数开发工作,我使用的是部分构建,例如按F7并且只更改了C++文件并重建了它们的依赖项,然后是增量链接.在将版本传递给测试之前,我会采取预防措施进行完全重建,这对我当前的项目大约需要45分钟.我看过很多帖子和文章提倡这个动作,但是这是必要的,如果有的话,为什么呢?它是否会影响交付的EXE或相关的PDB(我们也在测试中使用)?软件的功能与测试角度有何不同?
对于发布版本,我使用的是VS2005,增量编译和链接,预编译头文件.
部分构建系统通过根据构建结果检查源文件的文件日期来工作.因此,如果您从源代码管理中恢复早期文件,它可能会中断.早期文件的修改日期早于构建产品,因此不会重建产品.为了防止出现这些错误,如果是最终版本,则应该进行完整构建.在开发过程中,增量构建当然要高效得多.
编辑:当然,进行完全重建还可以保护您免受增量构建系统中可能存在的错误的影响.
大家都没有遇到过这种使用模式吗?我遇到了奇怪的构建错误,在调查之前我进行了完全重建,问题就消失了。
在我看来,这本身就是在发布之前进行完全重建的充分理由。
我认为,您是否愿意将没有问题完成的增量构建转而进行测试,这是一个品味问题。