下面是从某网站上发现的步骤,发现其基本正确,就是少了一步。下面是完整的步骤,我今天实践过,可以编译出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. 从 上下载 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 all10. 然后你就可以把 lcc.exe copy 到任何地方进行编译了。但是其它的可执行文件不能 copy,因为它依赖于 LCCDIR 目录,否则 lcc 找不到 cpp 和编译器 rcc。然后就可以使用rcc.exe来编译c程序到mips汇编程序了,可以用输出重定向到一个.asm文件中
例如 rcc -target=mips/irix test.c > test.asm