博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gcc编译工具的基本操作命令
阅读量:2433 次
发布时间:2019-05-10

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

一个编译过程包括下面几个阶段:

(1)预处理:预处理器将对源文件中的宏进行展开。

(2)编译:gcc将c文件编译成 汇编文件。
(3)汇编:as将汇编文件编译成机器码。
(4)链接:将目标文件和外部符号进行连接,得到一个可执行二进制文件。

gcc所支持的文件后缀名

test.c  表示c原始程序test.i  表示经过预处理后的程序test.s  经过编译后的汇编语言程序test.o  通过汇编将编译文件转化成二进制的目标文件

gcc 参数 选项

常用参数:

-c  表示编译源文件,只进行编译不进行链接,生成目标文件test.o-o  表示输出目标文件-o file  将file文件指定作为输出文件-g  表示在目标文件中产生调试信息,用于gdb调试-E:仅执行编译预处理;-S:将C代码转换为汇编代码;-Wall  打开所有类型的警告。

如果未指定参数

gcc test.c

则会将main.c文件进行预处理、编译、汇编和链接操作,最后默认生成a.out可执行文件

如果采用-o参数指定输出目标文件的名称:

gcc test.c -o test

则最后不会生成a.out可执行文件,而是test可执行文件

预处理阶段

对包含的头文件和宏定义进行处理

gcc -E test.c -o test.i//vim test.i

编译阶段

gcc -S test.i -o test.s//vim test.s 查看汇编语言

汇编阶段

采用as将汇编文件译成机器码

as test.s -o test.o

但此时的test.o文件不能执行,还需要进行链接

gcc test.o -o test

此时test为可执行程序

汇编和链接可以直接一起进行执行

将.s的汇编文件和库文件链接起来直接形成可执行程序test

gcc test.s -o test

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

你可能感兴趣的文章
websphere笔记
查看>>
使用 WebSphere Process Server 关系开发集成解决方案(2)
查看>>
最新最全的Portlet 通信过程详解
查看>>
在LINUX中安装WEB SPHERE5.1的正确方法
查看>>
WebSphere简单故障排查
查看>>
ITCAM for Websphere v6.0与ITM v6.1集成的快速指南
查看>>
数据泵 TTS(传输表空间技术)
查看>>
DATA GUARD架构(一)
查看>>
weblogic管理2 - 创建并启动一个managed server
查看>>
linux下开机自动开启单机oracle
查看>>
weblogic管理1——创建 和 删除一个domain
查看>>
EJB 的理解
查看>>
SQL开发--经典建议(转载)和大家分享
查看>>
网络上经典的DOS小命令(转)
查看>>
sqlserver中的一些技巧(转)
查看>>
简化Windows 2003域控制器密码(转)
查看>>
GSM无线网络的虚拟分层(转)
查看>>
不用重装 轻松解决Windows系统棘手问题(转)
查看>>
对移动通信网络优化工作的一些见解(转)
查看>>
正确网络配置建议 减少卡机死机的关键(转)
查看>>