搜尋

首頁  >  問答  >  主體

c++ - 在gcc中同时使用“-arch i386”和"-arch x86_64"是什么意思?

难道编译出来的结果同时支持x86和x64么

阿神阿神2886 天前618

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:20:42

    不知道gcc,但從cpu角度分析:

    i386是intel的較早的32位元處理器的名稱,與i486i586等是一個系列的,這個系列也叫x86。而且保持著例如486相容386這種向下相容的特性,指定i386可以做到最廣泛的對32位元處理器的相容性

    但是intel在64位的處理器上卻輸給了AMD,AMD基於x86率先推出了兼容32位的64位處理器,而且獲得市場認可,稱為amd64。由於這種64位元的處理器也可以運作在32位元模式下,所以也稱為x86-64

    發展到現在其實只有兩個常用的標準,一個是intel的32位標準x86,一個是amd的64位標準amd64(雖然amd64同樣是從x86發展起來的)。

    當然intel也有自己的64位元標準稱為IA-64,也就是安騰處理器。

    根據我的理解,回答你的問題:
    i386編譯的程式的目標CPU平台為32位元相容即可
    x86-64編譯的程式的目標平台只能是64位元相容

    以上分析僅是個人理解,如有不妥還請指正。

    回覆
    0
  • 取消回覆