爲什麼gcc在64位Solaris上編譯出來的程序默認是32位的?

最近發現一個問題,gcc在64位Solaris上編譯出來的程序默認是32位的,而在64位Linux上編譯出來的程序默認就是64位的,覺得有點奇怪,就在stackoverflow上問了一下(http://stackoverflow.com/questions/25560539/how-does-gcc-determine-if-to-generate-a-32-bit-or-64-bit-executable-file-by-defa)。其中一個回答給出了一個鏈接(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58833),原來這是Solaris有意而爲之。總結一下,有以下幾點:

(1)64位的gcc或程序不一定比32位運行快;

(2)Studio程序默認是32位的,gcc最好和它行爲保持一致;

(3)從用戶體驗出發,以前都是默認生成32位程序,現在一下變成64位,用戶可能需要改很多配置;

(4)64位Solaris位的gcc可以既編譯32位,又編譯64位,看用戶自己的選擇了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章