Linux编译器gcc的使用

本文详细介绍了Linux环境下gcc编译器的工作流程,包括预处理、编译、汇编和链接四个步骤,同时探讨了函数库(静态库与动态库)的作用。还列举了gcc常用编译选项,如-E、-S、-c、-o和-static等,帮助读者掌握gcc的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 背景知识

1. 预处理(进行宏替换)
2. 编译(生成汇编)
3. 汇编(生成机器可识别代码)
4. 连接(生成可执行文件或库文件) 

2. gcc如何完成编译汇编的工作 

格式:gcc [选项] 要编译的文件 [选项] [目标文件]


程序翻译的过程可以分为预处理 ,编译,汇编,链接四个过程,从最开始的源文件到最后的可执行程序。


预处理

预处理功能主要包括宏定义,文件包含,条件编译,去注释等。
预处理指令是以#号开头的代码行。
选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。
选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。 

举例

[shadow@VM-4-4-centos practice_7_28]$ gcc -E test.c -o test.i

对比一下test.c文件和test.i文件

 

由于包含了头文件,所以在预处理之后多了八百多行的代码

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闻 术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值