G'day,Solaris cc是否嵌入可執行不同信息的不同編譯?
這已經問過VC++,但我對Solaris的答案感興趣。使用命令
#include <stdio.h>
int main() {
printf("Hello world!\n");
return 0;
}
:
我編譯和鏈接下面的瑣碎的C代碼
cc -o hello1 hello.c
這做幾次獲得可執行文件hello2和hello3。這是在同一臺機器上使用相同的編譯器,並在不同的時間在同一個目錄中完成的。
可執行文件的大小相同,但diff會將二進制文件報告爲不同的文件,並且cmp -l會對一長串不同的位置發瘋。
任何人都知道在可執行文件中嵌入了什麼cc以使它們不同?時間戳?
編輯:剝離可執行文件,如下面的Chris所示,使diff將兩個可執行文件報告爲相同。
歡呼聲,
看ELF也許吧。 – LB40 2009-11-02 18:03:13
相當晚的評論,但請參閱http://stackoverflow.com/a/36591217/211665更準確的解釋和方法來找出實際的差異。 – jlliagre 2016-04-13 10:20:40
感謝指針@ jlliagre – 2016-04-14 09:04:25