use*_*336 5 c++ binary-reproducibility
当我使用c ++编译器构建项目时,如果源代码中没有更改,我可以确保生成的二进制文件不受影响吗?看起来每次我重新编译我的源代码时,二进制文件的md5校验和都会受到影响.编译的时间是否会以某种方式影响生成的二进制文件?如何生成可重复的编译结果?
使用增量构建系统 - 例如make确保在源代码未更改的情况下不会重新编译代码。
可能会让您的编译从相同的源生成相同的二进制文件 - 也可能不会 - 这取决于编译器。大多数会将当前时间嵌入到生成的二进制文件中的某个位置。