歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 如何使用LCC編譯C文件到MIPS 匯編

如何使用LCC編譯C文件到MIPS 匯編

日期:2017/3/1 10:44:52   编辑:Linux編程

下面是從某網站上發現的步驟,發現其基本正確,就是少了一步。下面是完整的步驟,我今天實踐過,可以編譯出mips匯編程序。

---------------------------------------------------------------------------------------------------

以下我寫了一個簡單的步驟,編譯出來的編譯器可以支持如下的 target: alpha/osf,mips/irix,sparc/sun,sparc/solaris,x86/win32,x86/linux。如果你需要編譯為 mips/irix下的匯編代碼,那麼使用 lcc -target=mips/irix -o foo.asm test.c。

1. 從 http://www.cs.princeton.edu/software/lcc/ 上下載 4.2 的源代碼 //此鏈接已經失效,我是從csdn上下載的。
2. 解壓到 d:\mips\lcc目錄,打開其目錄下的 doc 目錄下的 install.html 文件
3. 看 <Installation on Windows> 條目 //裡面信息很全,這個文檔中的大部分信息都來自於這個網頁中
4. 在命令行下運行 VC 目錄下的 vcvars32.bat 文件
5. 然後把目錄切換到 d:\mips\lcc
6. 設置 C:\mips\lcc>set BUILDDIR=d:\mips\lcc\4.2\bin
C:\mips\lcc>mkdir %BUILDDIR%
7. 修改 etc 目錄下的 win32.c。
在win32.c 中有關於 LCCDIR 的定義,取代它的定義為:
#define LCCDIR "d:\\mips\\lcc\\4.2\\bin\\"

8. 在命令行下敲 C:\mips\lcc>nmake -f makefile.nt HOSTFILE=etc/win32.c lcc

9. 在命令行下敲入 (這裡是我補充的,從install.html中看到的一步,會生成rcc.exe程序)

C:\mips\lcc>nmake -f makefile.nt all

10. 然後你就可以把 lcc.exe copy 到任何地方進行編譯了。但是其它的可執行文件不能 copy,因為它依賴於 LCCDIR 目錄,否則 lcc 找不到 cpp 和編譯器 rcc。然後就可以使用rcc.exe來編譯c程序到mips匯編程序了,可以用輸出重定向到一個.asm文件中

例如 rcc -target=mips/irix test.c > test.asm

Copyright © Linux教程網 All Rights Reserved