[转]Turbo C 2.0 认识
文章作者:零一、C语言
C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。 它由早期的编程语言 BCPL( Basic CombindProgramming Language) 发展演变而来。在1970年, AT&T 贝尔实验室的 KenThompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C 语言的问世。
随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准,使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况, 美国国家标准研究所(ANSI)为C 语言制定了一套ANSI标准, 成为现行的C语言标准。
二 Turbo C 2.0 历史
Turbo C 是美国Borland 公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套 Turbo系列软件, 如Turbo BASIC, TurboPascal, Turbo Prolog, 这些软件很受用户欢迎。该公司在1987年首次推出Turbo C 1.0 产品, 其中使用了全然一新的集成开发环境, 即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化, 大大方便了程序的开发。1988年, Borland 公司又推出Turbo C1.5版本, 增加了图形库和文本窗口函数库等, 而Turbo C 2.0 则是该公司1989年出版的。Turbo C2.0在原来集成开发环境的基础上增加了查错功能, 并可以在Tiny模式下直接生成.COM (数据、代码、堆栈处在同一64K 内存中) 文件。还可对数学协处理器 (支持8087/80287/80387等)进行仿真。
三 Turbo C 2.0内容
/*一般文件*/
INSTALL.EXE 安装程序文件
TCINST.EXE 集成开发环境的配置设置程序
TCHELP.TCH 帮助文件
THELP.COM 读取TCHELP.TCH的驻留程序
README 关于Turbo C的信息文件
TCCONFIG.EXE 配置文件转换程序
MAKE.EXE 项目管理工具
*.C Turbo C例行程序(源文件)
/*需要理解的文件*/
TC.EXE 集成编译
TCC.EXE 命令行编译
TLINK.EXE Turbo C系列连接器
TLIB.EXE Turbo C系列库管理工具
*.LIB Turbo C库文件---通常是在LIB文件夹下
GRAPHICS.LIB 图形库
EMU.LIB 8087仿真库
FP87.LIB 8087库
*.H Turbo C头文件--通常是在INCLUDE文件夹下
*.BGI 不同显示器图形驱动程序
C0?.OBJ 不同模式启动代码
C?.LIB 不同模式运行库
说明: 上面的?分别为:
T Tiny(微型模式)
S Small(小模式)
C Compact(紧凑模式)
M Medium(中型模式)
L Large(大模式)
H Huge(巨大模式)
四 重要文件的说明
1, TCC.EXE 和 TC.EXE
Turbo c包有两种编译器,集成开发环境下的叫做TC.EXE和命令行方式的叫做TCC.EXE.
集成开发环境包括:集成编辑器、命令行编译器、连接器、调试器。
2, TLINK.EXE 为连接程序,把各个obj文件连接程exe文件
obj文件是什么?
目标文件,其内容为 完成某种功能的代码,只不过存储的机器码.
可以这样理解 目标文件 即为 子程序或子函数
tlink.exe作用是什么?
把 启动代码(也是obj文件,负责设置环境,调用main函数,等作用) + main函数所在obj +main函数所用到的obj 连接起来生成exe文件.
3, TLIB.EXE 对lib文件进行操作的一个工具.
lib文件是什么?
obj文件的集合,可以使用tlib.exe 从lib文件中取出obj文件,向lib文件加入obj文件,等操作
4, *.h文件
在include文件夹中包含了turbo c提供的库函数说明,只是说明而已
如果用户需要使用某个函数功能,需要把对应的头文件包含进来
当然用户可以定义自己头文件
5, 设置路径
TC集成开发环境中设置 Options/Directories下设置 include,lib路径
使用命令行编译的话 需要对TURBOC.CFG文件进行编辑就可以了(使用纯文本编辑器就可以)
五 建造自己的编辑环境
这个过程,实际上是为了了解turbo c对c语言的编译,连接过程.并加深对编译,连接,obj,lib的理解
建立一个新的文件夹(以后用到什么,则从tc下拷贝过来)
1 使用dos自带的edit编辑器
2 使用tcc作为编译器
3 使用tlink作为连接器
实际上还是需要其他文件比如 c0s.obj ,cs.lib,等
例子: 参见 http://www.asmedu.net/news.jsp?index=284
----------------解决方案--------------------------------------------------------
廉颇老矣,尚能饭否?
----------------解决方案--------------------------------------------------------
thanx
感谢楼主收藏哈
虽然TC老了,但是还是要了解的
----------------解决方案--------------------------------------------------------