资料收集站

SDL

Tuesday
Jan 06th
Text size
  • Increase font size
  • Default font size
  • Decrease font size

所谓命令行编译,是指在dos下,调用Trubo C的tcc.exe程序.来完成对turbo C源程
序的编译连接工作.当选择对后缀为*.asm的汇编程序文件编译时,tcc还要调用
TASM后才能对后缀为.asm的文件进行编译,这种方式适合于c程序与汇编语言混合
编程的编译连接,当c程序嵌入汇编指令时,也必须用此方法编译连接。

命令行编译的格式为:
tcc [选项1 选项2 ...]文件名1 文件名2...
其中选项是指对后面给出的文件进行连接时的选择项,可选的常用选择项如下所
示:每个选项前都带有"-"号,且大小写是区分的。
文件名是指源文件.c或目标文件.obj或库文件.lib
当不指定只编译不连接时,tcc将完成编译和连接两个步骤,对.lib库只进行形式
上的连接,标准库用户不用进行连接。
例如:
tcc -ib:\include -lb:\lib -etest start.c body.obj myc
当执行该命令时,表示将start.c源文件和body.obj目标文件及myc.c(命令行中该
文件无后缀),分别进行编译(对body.obj文件不再编译),然后连接生成名为test的
执行文件test.exe(由-test给出).

-ib:\include 表示包含文件的路径是b:\include
-ib:\lib 表示库文件的路径是b:\lib

又例如:

tcc -ms -efile -lc:\tc\lib file1 file2.obj graphics.lib
其中-ms表示选择小内存模式进行编译,它也是turbo c的缺省编译模式,将file1进
行编译,然后和file2.obj 及graphics.lib进行连接.生成file.exe的可执行文件.
其中graphcis.lib库的路径为c:\tc\lib,即意为在c:\tc\lib目录下去寻找
graphics.lib文件.
当进行混合编程时,如果已有汇编程序s3.asm其命令行可写为
tcc ic:\tc\include -lc:\tc\lib -mm s1 s2 s3.asm mylib.lib
表示用中模式(-mm)编译源文件s1.c和s2.c,调用TASM对s3.asm进行编译,然后连接
生成可执行文件s1.exe,编译时,到c:\tc\include目录中去找包含文件,到
c:\tc\lib目录中去找库文件mylib.lib.

Comments (0)Add Comment

Write comment

busy
 

Google 搜索

在线用户

We have 44 guests online