例如我们有一些源代码。 并且相同源代码的相同GCC的两个不同构建为您提供了该程序的不同CPU负载
除了源代码和gcc选项之外,是否有可能影响编译? 附:我猜这是一个愚蠢的问题,但无论如何......
答案 0 :(得分:0)
假设您没有在gcc调用之间更新系统的其余部分,gcc应该生成相同的可执行文件。您可以通过比较它们来检查是否是这种情况:
$ gcc ...
$ mv my_program my_program.1
$ gcc ...
$ cmp -l my_program.1 my_program
如果这不产生任何输出,则可执行文件是相同的。
但是,当您编写" CPU load"时,您似乎会参考程序的运行时间,并且很多事情都可以影响它。例如:
如果差异仅为百分之几,那通常是由于测量精度有限。如果差异很大,我建议您使用分析器和/或发布有关您的程序的更多详细信息。