博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言编译产生的.OBJ文件和汇编编译产生的.OBJ文件,如何连接_百度知道
阅读量:2399 次
发布时间:2019-05-10

本文共 1080 字,大约阅读时间需要 3 分钟。

导读:
rubo C的命令行编译连接
所谓命令行编译,是指在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.
---------------------------------------
比VC难用。。。
本文转自

转载地址:http://awiob.baihongyu.com/

你可能感兴趣的文章
oracle 12c flex cluster专题 之 节点角色转换
查看>>
SQL优化案例-改变那些CBO无能为力的执行计划(一)
查看>>
SQL优化案例-正确的使用索引(二)
查看>>
Oracle Data Guard Feature 12cR2系列(一)
查看>>
MySQL InnoDB Update和Crash Recovery流程
查看>>
Oracle RushQL勒索病毒恢复方法
查看>>
Oracle RAC Cache Fusion 系列十:Oracle RAC Enqueues And Lock Part 1
查看>>
MySQL问题两则
查看>>
MySQL执行计划explain的key_len解析
查看>>
基于Oracle的私有云架构探析(连载一)
查看>>
ASM 翻译系列第十弹:ASM Internal ASM DISK header
查看>>
ASM 翻译系列第一弹:基础知识 ASM AU,Extents,Mirroring 和 Failgroups
查看>>
MySQL排序内部原理探秘
查看>>
ASM 翻译系列第八弹:ASM Internal ASM file extent map
查看>>
利用sys schema解决一次诡异的语句hang问题
查看>>
数据库容器化|未来已来
查看>>
容器化RDS|计算存储分离架构下的 IO 优化
查看>>
MySQL 5.7复制配置不规范修改导致的坑(一)
查看>>
MySQL8.0——Resource Group(资源组)
查看>>
基于Oracle的私有云架构探析(连载二)
查看>>