我自己的電腦有一個Intel Core I5。但是,如果我使用某些RISC ISA,例如ARM或powerPC,我想知道程序集的外觀。我可以用gcc -march編譯成其他的ISA
我可以編譯C代碼到使用其他微架構的ISA組裝?
我自己的電腦有一個Intel Core I5。但是,如果我使用某些RISC ISA,例如ARM或powerPC,我想知道程序集的外觀。我可以用gcc -march編譯成其他的ISA
我可以編譯C代碼到使用其他微架構的ISA組裝?
您需要爲此構建(或安裝)交叉編譯器。一個給定的GCC版本只針對一個CPU「家族」;例如可以構建一個針對x86和x86_64的GCC編譯器。但是,你不能(據我所知)構建一個既定位於x86又定位於PPC的GCC編譯器。
您可以運行編譯器在x86輸出PPC總成雖然 - 這就是所謂的交叉編譯器。在發行版的軟件包信息庫中查找它們,或者使用諸如crossdev之類的工具來製作一個。
號-march
僅影響子體系,編譯器將目標(例如,它是否會使用它並非適用於所有的CPU功能)。它不允許編譯器完全爲不同的架構構建代碼。
什麼你要找的是一個交叉編譯器 - GCC的副本,其編譯爲86(或其他),但編譯爲PowerPC的/ ARM/MIPS /任何代碼。構建一個交叉編譯器是一個複雜的過程,但有可用的在線指令。
你不說你正在使用的是什麼操作系統,但Ubuntu(一)在回購中有一個ARM交叉編譯器包。 – ams 2012-02-23 15:44:25
另外,您可以從這裏下載幾種體系結構的免費交叉工具鏈:http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ – ams 2012-02-23 15:45:51