博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCC-Win32中文文档[翻译]
阅读量:5918 次
发布时间:2019-06-19

本文共 1927 字,大约阅读时间需要 6 分钟。

从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

转载地址:http://plfvx.baihongyu.com/

你可能感兴趣的文章
[未完成][知识点]高斯消元法及其扩展
查看>>
mmap详解
查看>>
流程控制(只有你想不到的)
查看>>
JavaWeb、J2-SE开发框架——Spring
查看>>
Bzoj 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路 最短路,floyd
查看>>
VS2013自带报表+打印功能
查看>>
Git学习笔记
查看>>
点到直线的距离
查看>>
[转]iPhone开源项目汇总
查看>>
闭包初窥
查看>>
变量与字符串
查看>>
Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式
查看>>
工厂模式
查看>>
解决某些软件检测不到java环境问题
查看>>
2016年学习计划
查看>>
[51nod1190]最小公倍数之和V2(莫比乌斯反演)
查看>>
HDU 1253 胜利大逃亡
查看>>
poj 1789 Truck History
查看>>
Python数据分析基础教程
查看>>
FTP上传下载
查看>>