码迷,mamicode.com
首页 > 编程语言 > 详细

研究C语言的新型编译环境TCC

时间:2017-12-09 23:49:02      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:是什么   验证   如何   其他   帮助   没有   概念   编译环境   记事本   

C语言综合研究1

搭建一个tcc环境

研究过程:

问题引出:为什么要使用tcc环境,甚至连图形界面都没有,为什么要使用这样的化境?

按照我们学习的本质来讲,可能是为了体验C语言底层的相关特性,但是在研究1中尚不能体会这点,所以这个问题待后续回答

我们将相关文件放到DOS环境下的C盘中去,用记事本书写一个简单的c程序。

使用c:\c\tcc a.c命令打算对.c文件进行编译。

发现,提示错误:不能找到a.c文件。

那么应该是无法识别路径,或者是相关的问题?那么推测是,难道tcc  环境在工作的时候需要一个索引路径的文件支持?

随即我们使用了诸如 minic\tc c\a.c.发现可以找到a,c文件并打开它,于是得出结论,路径问题并不由tcc来决定,而是由操作系统DOS决定。虽然考虑到这一点,但是仍不知道怎么做,于是百度

最终知道应该 用 cd c\命令使目录更改为C:\C>

这样顺利的编译连接生成a.exe文件。

但是仍不知道这样做的原因是是什么 为什么tc的时候就没有这个问题。

之后处于好奇心,将tlink.exe删除,发现只能能够生成.obj文件,但是不能生成.exe文件,如果不删除tlink.exe发现可以直接生成.exe文件,这说明了tcc.exe程序有调用tlink.exe程序的作用,而其本身能够实现编译功能。

又做了如下尝试,算是对之前研究的回忆,在tlink.exe删除后,删除了其他必要文件,发现仍让能够生成.obj文件,说明这些文件在编译阶段不是必须的,而这个再次说明了什么是:连接!

做完这些工作,运行生成的.exe文件,显示了“hello world!”。

已解决:

1.通过这个研究做到了最基本的事情,搭建一个tcc环境并对.c文件进行编译连接生成.exe文件。

2.认识到了tcc负责生成.obj文件,tlink负责生成.exe文件,但tcc会调用tlink 文件。

3.对之前的研究进行回顾,进一步认识了“编译”,“连接”这个概念

未解决:

1.tcc甚至连图形界面都没有,我们为什么使用tcc?

2.教材所说的有两个最大64K的段,试问如何验证?以及,这个是什么意思?

感悟:

通过建立tcc环境,实现了对.c文件的编译连接,总体来说tcc比tc少了很多文件,这对于我们研究c语言是极其有帮助的,可以让我们抓住一些更为核心的东西,而忽略那些目前阶段不需要了解的东西。

研究C语言的新型编译环境TCC

标签:是什么   验证   如何   其他   帮助   没有   概念   编译环境   记事本   

原文地址:http://www.cnblogs.com/shaonianpi/p/8012986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!