配置TC2.0运行环境

一、 学习过程

下载TC2.0并打开如图:

配置TC2.0运行环境

这是一个集成的C语言环境包,包括TC、dosbox和一些编译工具,很明显这样我无法判断单个程序的功能,也无法区分哪些程序是必须的。

那么为了搞清楚哪些文件是用来解决哪些功能的,我新建一个文件夹C:\minic用来存放已知要解决问题的文件。

避免程序通过设置搜索路径的方法找到不在相同目录的相关文件有两种方法:(1)不让设置的默认路径指向真的包含相关文件的目录。(2)把我们所要研究的系统的所有文件都拷贝到一个不可能是系统设置的搜索路径的目录中。

对于第一种方法,首先要搞清楚程序是怎么设置默认搜索路径的,我想起了在配置java环境时需要在系统环境变量里添加相关路径,这样程序在使用时才会根据这个路径找到安装的jdk,那么我们这里的程序安装时是自动添加环境变量吗?如果是这样,那么只要改变环境变量即可避免查找,但我们不知道在程序查找时是哪个环境变量起了作用。在网上的一篇资料《头文件的查找方式和库的搜索路径》里面有这样一句话:“预设的头文件目录是由编译器自己决定的”,那么也可以通过新建文件夹的方式避免查找。如果不是只通过特定路径查找固定文件而是大范围查找的话,那么就要搞清楚这个搜索的范围是多少,是搜索该文件夹下的子目录,还是搜索所有同级目录,还是搜索整个盘符的文件,还是搜索系统内的所有文件。于是就可以用方法二新建一个文件夹使它不在搜索范围内,课本上新建了D:\tc2.0文件夹,说明这个文件夹不在搜索范围内,但是我的xp虚拟机里只有一个C盘,于是我决定新建C:\tc文件夹看看,如果这个文件夹在搜索路径内的话,实验结果会与资料上不一样。创建结果如图:

配置TC2.0运行环境

把tc.exe拷贝到c:\minic并运行如图:

配置TC2.0运行环境

说明TC没有找到所需的文件,该文件夹果然不在搜索范围内。按确定后发现文件夹中出现了两个新的文件:

配置TC2.0运行环境

将tc的工作路径都清空:

配置TC2.0运行环境

编写simple.c并保存到c:\minic下:

配置TC2.0运行环境

用complie编译显示成功:

配置TC2.0运行环境

在c:\minic\PROJECT中创建了simple.obj:

配置TC2.0运行环境

用tc连接simple.obj显示错误: 

配置TC2.0运行环境

原因是:unable to open input file ‘COS.OBJ’:

在C:\minic下没有simple.exe

那么我们就在原目录下找到COS.OBJ放进去,结果出现了下一个错误:

配置TC2.0运行环境

再找到EMU.LIB放进去,结果出现下一个错误:

再找到MATHS.LIB放进去,结果出现下一个错误:

再找到GRAPHICS.LIB放进去,结果出现下一个错误:

再找到CS.LIB放进去,终于成功生成了simple.exe文件:

配置TC2.0运行环境

可知TC连接一个OBJ文件所需的文件是:COS.OBJ、EMU.LIB、MATHS.LIB、GRAPHICS.LIB、CS.LIB。 

二、 解决的问题

(1) java等程序是怎么查找jdk等相关文件的?答:通过系统或用户的环境变量里的路径查找。

(2) TC连接obj文件所需文件都有哪些?答:TC连接一个OBJ文件所需的文件是:COS.OBJ、EMU.LIB、MATHS.LIB、GRAPHICS.LIB、CS.LIB。

三、 未解决的问题

(1) TC程序是怎么设置默认搜索路径查找相关文件的?

(2) 为什么TC程序编译c文件不需要其他文件?

(3) TC连接obj文件的过程是什么?相关文件的功能都是什么?

四、 学习感想

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ba5ca53901d56bb1ed5d8e6cd12359a6.html