最近用到了开源C编译器TCC,在网上查了些资料,关于调用方法等内容不是十分完整,因此在实践的基础上作了总结,整理了学习笔记。
一、编译TCC源代码(版本tcc-0.9.25)
1、 安装MinGW和MSYS
TCC提供的源代码没有VC的工程文件,只有MinGW.c文件,因此可以使用MinGW进行编译。
安装方法:
从http://prdownloads.sourceforge.net/mingw下载MinGW-5.1.6.exe,这只是一个用于安装的程序,并不是编译器程序。运行该程序后,它会自动下载压缩文件进行安装。如果不想直接从外网安装,可分别下载压缩文件,放在内网服务器上。MinGW-5.1.6.exe运行后,会生成一个配置文件mingw.ini,可以对其进行修改,替换掉自动生成的配置文件,直接从内网安装。
也可以手动安装,步骤较为麻烦,不作详细描述。
2、 编译源代码生成dll
运行MinGW,编译源代码,生成libtcc.dll,命令为
gcc -O2 -shared -Wall -Wl,--export-all-symbols -mpreferred-stack-boundary=2 -march=i386 -falign-functions=0 -fno-strict-aliasing -DTCC_TARGET_PE -DLIBTCC -o libtcc.dll tcc.c
3、 生成.def文件
下载pexports.exe并运行,生成def文件,命令为
Pexports libtcc.dll > libtcc.def
如不指定路径,def文件直接生成在pexports.exe所在文件夹下。