TCC-Win32中文文档[翻译]

从Tiny C Compiler (TinyCC或TCC) 0.9.25 Windows二进制发行版的tcc-win32.txt翻译而来。


TinyCC
======
这篇文档包含了在MS-Windows下使用的特定信息。查看tcc-doc.html了解全部特性。


从源码编译:
------------------------
* 你可以使用MinGW和MSYS工具,可以在这个地址获取到它们
http://www.mingw.org

解压TCC压缩包,在MSYS Shell中输入:
./configure
make
make install

默认安装位置是 c:\Program Files\tcc


* 此外还可以用MinGW中的GCC编译TCC;使用
win32\build-tcc.bat

复制win32目录下的所有内容到想要的地方即安装。


从二进制ZIP压缩包安装:
-----------------------------------------
解压压缩包到想要的目录。
(注意,压缩包不包含libtcc。如果想要TCC作为动态代码生成器,请用源码发行版。)


设置系统变量PATH:
--------------------
想要随时调用tcc(如在命令行输入tcc),请把tcc.exe所在目录添加到PATH。

例子:
---------
打开命令行,‘cd’到例子所在的目录。

对于“Fibonacci”例子,输入:
tcc fib.c

对于"Hello Windows"GUI例子,输入:
tcc hello_win.c

对于“Hello DLL”例子,输入:
tcc -shared dll.c
tiny_impdef dll.dll (可选)
tcc hello_dll.c dll.def


导入定义文件:
------------------------
TCC使用导入定义文件(.def)代替库文件来连接Windows系统的DLL。

tiny_impdef程序可以为任何DLL生成.def文件,比如:
tiny_impdef.exe opengl32.dll

把opengl32.def放到tcc/lib目录下。程序要连接opengl32.dll时,在tcc的命令行加上 -lopengl32。


头文件:
-------------
系统头文件(除了 _mingw.h)来自MinGW程序:
http://www.mingw.org/

Windows头文件中只包含了一小部分。如果需要更多头文件,可以从MinGW “w32api”获得。


资源文件:
---------------
TCC可以像MinGW的Windres.exe一样链接链接coff格式的Windows资源。例如:
windres -O coff app.rc -o appres.o
tcc app.c appres.o -o app.exe

Tiny Libmaker:
--------------
tiny_libmaker工具(作者是Timovj Lahde)可以代替ar从一些目标文件中生成库,比如
tiny_libmaker [rcs] library objectfiles ...


限制:
------------
- 对于目标文件,TCC现在只支持ELF格式,不支持MinGW和MSVC使用的COFF格式。
在TCC和这些编译器之间交换目标文件和库文件是不可行的。
不过,可以使用tiny_libmaker或MinGW的ar由TCC编译的目标文件生成TCC可用的库文件。

- ELF标记开头没有下划线。

- 只能导入或导出DLL函数,数据还不能;

- 目前不支持边界检查(参数 -b);

- 还不能支持64位系统。


文档和许可证:
--------------------------
TCC按照GNU LGPL协议发行(查看COPYING文件或http://www.gnu.org/licenses/lgpl-2.1.html)

TCC主页是:http://fabrice.bellard.free.fr/tcc/


WinAPI帮助和第三方工具:
--------------------------------
Windows API文档(一个.hlp文件)可以在lcc-win32站点以"win32hlp.exe"的文件获取,
或者在其他地方以"win32hlp_big.zip"的文件获取。

ResEd是一款出色的RAD工具,可以用来创建对话框等Windows资源文件。这个工具可以在RedASM获取。

--- grischka

posted @ 2011-11-13 19:15  tt-0411  阅读(2647)  评论(0编辑  收藏  举报