2014-03-28 29 views
0

例如我們有一些源代碼。 和兩個不同構建由相同的源代碼的同海灣合作委員會給你不同的CPU負載該PROGRAMM有什麼可以影響gcc構建相同的代碼?

是否有可能是一些可以影響除了源代碼和gcc編譯選項? P.s.我猜這是愚蠢的問題,但無論如何....

回答

0

假設你不更新你係統之間的gcc調用之間的其餘部分,gcc應該產生相同的可執行文件。您可以通過比較它們來檢查是否屬於這種情況:

$ gcc ... 
$ mv my_program my_program.1 
$ gcc ... 
$ cmp -l my_program.1 my_program 

如果這不會產生任何輸出,則可執行文件是相同的。

但是,當你編寫「CPU負載」時,你似乎指的是程序的運行時間,許多事情都會影響到它。例如:

  • 系統負載與其他進程
  • 一天的時間(隨機數)
  • 內存佈局(庫地址隨機化)

如果差異只有百分之幾,這是通常由於測量精度有限。如果差異很大,我建議你使用探查器和/或發佈更多關於你的程序的細節。

+0

感謝您的澄清。我確信它應該是這樣的,但我只是想問這個問題。 – Douman

相關問題