2012-10-09 89 views
0

我已經用C語言編寫了一些代碼,並且需要將其轉換爲MIPS 64,無論是否進行了優化。我一直在試圖用gcc來轉換它,但是這會將它轉換爲更加複雜的x86。此外,我一直在試圖找到一個交叉編譯器,但一直未能獲得任何編譯器的工作。任何幫助和建議將非常感激。將C轉換爲MIPS64彙編

親切的問候,

+1

可能重複[如何交叉編譯爲MIPS?](http://stackoverflow.com/questions/5291190/how-to-cross-compile-for-mips) – unwind

回答

0

下載和安裝CodeSourcery的Codebench完成對MIPS後,調用MIPS gcc交叉編譯器爲MIPS 64修訂版2的體系結構,如下所示:

C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_MIPS_GNU_Linux\bin\mips-linux-gnu-gcc -march=mips64r2 foo.c -S 

foo.s生成MIPS彙編源代碼。

與codebench一起安裝的文檔將告訴您-march選項的其他可能值。其他gcc標誌如-S-O正常工作。

+0

markgz謝謝您的建議!我爲MIPS下載並安裝了Codesourcery。當我嘗試使用以下命令運行c代碼時,終端不輸出任何信息或錯誤(主要問題是它不輸出.s文件)。 C:\ Program Files \ CodeSourcery \ Sourcery_CodeBench_for_MIPS_GNU_Linux \ bin> mcc-linux-gnu-gcc -march = mips64r2「C:\ Users \ Alex van Rijs \ Documents \ ccode.c」-S –

+0

gcc似乎遇到了dos路徑問題。嘗試cd到你的源代碼所在的目錄,並在那裏運行編譯器。也可以嘗試將codesourcery \ bin目錄添加到PATH中。或者更簡單,只需安裝Cygwin並在cygwin窗口中運行這些工具即可。 – markgz

0

如果使用MIPS交叉編譯器,而不是爲目標的x86一個gcc,就可以完成這個「轉換」(編輯)。如果你需要找到一個MIPS交叉編譯器(gcc),你可以從codesourcery.com預先構建一個。

在你的問題中的措辭似乎表明你並不在乎輸出是MIPS,但而是希望輸出比x86更簡單。如果是這種情況,您也可以檢查ARM輸出。

+0

我已經從codesourcery下載了軟件,但我沒有看到將其編譯爲mips64的選項。此外,我試圖建立一個交叉編譯器,但這些選項似乎不起作用。我可以運行多個文件,如mips-unknown-linux-gnu-但不確定使用哪一個以及如何使用這些選項,因爲它不會識別標誌爲-o和-S –

+0

@AlexvanRijs只需要清楚,如果已經下載一個生成MIPS代碼的編譯器,沒有使用標誌,它已經做了你想要的。 – HonkyTonk