如何使用LCC编译C文件到MIPS 汇编


下面是从某网站上发现的步骤,发现其基本正确,就是少了一步。下面是完整的步骤,我今天实践过,可以编译出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

相关内容