研究底层C语言的实现机制,前提是对汇编有一定深度的了解,强烈推荐王爽老师的《汇编语言(第二版)》,内容丰富,入门简单,堪称汇编语言宝典之书。
首先,搭建以后学习需要的运行环境,新建一个文件夹,在turbo C2.0提供的基础运行文件中,拷贝tcc.exe和tlink.exe,编写一个最简单的输出hello world!的程序helo.c,用tcc工具进行试验,根据提示可逐步提炼出最简单开发环境所需要的一切相关文件和程序,总结起来包括:⑴编译器tcc.exe⑵连接器tlink.exe⑶相关文件:c0s.obj、cs.lib、emu.lib、maths.lib.
按照以上方法编译连接生成.exe文件,程序可有两个最大为64k的段。一个段为代码段,栈和数据段共用一个段。
“c:\c\tcc basec.c”的工作过程如下:
①tcc.exe将basec.c编译为basec.obj;
②tcc.exe调用tlink.exe将c0s.obj、cs.lib、emu.lib、maths.lib中的相关代码与basec.obj中的代码连接到一起生成.exe文件。
完成的工作:
①将以上最基本的文件拷贝到一个新建的文件夹c:\c下。
②编译运行下面的程序:
main()
{
printf("hello word!\n");
}
问题扩展:
(1)一般我们常使用的是tc.exe,实际上,turbo c包有两种编译器,集成开发环境下的叫做tc.exe和命令行方式的叫做tcc.exe