当前位置: 首页 > news >正文

Linux编译器——gcc/g++的使用

gcc/g++的编译过程:

首先创建一个可执行文件cde.c。

1.预处理:

-E意思是从现在开始进行程序编译,在预处理做完时就停下来。

进入cde.i,文件由原来的几行变成了好几百行,这是因为头文件在系统当作自带,打开之后发现有九百多行。根本原因就是因为头文件展开,将需要的头文件拷贝到目标文件形成 .i 文件,头文件里面也有它自己的头文件,就会进行不断地递归展开,所以就会变大。预处理完之后头文件就不需要了。

2.编译(把语言变成汇编语言):

-S选项就是告诉编译器从现在开始进行程序的编译直到编译结束时停下。

3.汇编:

cde.o:可重定位目标文件,在win和vs就叫做 .obj。我们的源文件中会包含很多库方法,此时cde.o就已经是一个二进制文件了,但我们的库方法没有和程序联系起来,所以程序无法进行,就需要链接才能形成可执行文件。-c:从现在开始程序开始翻译,直到汇编完成停下。

4.链接:

相关文章:

  • 实时数仓和离线数仓的区别是什么?企业如何选择合适的数仓架构?
  • 华为云Flexus+DeepSeek征文|ModelArts Studio开通DeepSeek-V3与R1商用服务实践与体验
  • Playwright 常用命令、参数详解及使用示例
  • springboot调用redis数据库,操作字符串
  • Java基础打卡-集合2025.05.22
  • Oracle20200714GI_PSU补丁流程及问题收集
  • [yolov11改进系列]基于yolov11引入全维度动态卷积ODConv的python源码+训练源码
  • Java 反射机制深度解析:从原理到实战应用
  • 【25-cv-05791】Aro de luz 摄影灯具商标维权案
  • 端口 3389 服务 ms - wbt - server 漏洞修复方法
  • 2025年渗透测试面试题总结-匿名[实习]安全技术研究员(题目+回答)
  • AI提示工程(Prompt Engineering)高级技巧详解
  • 被忽视的 App 安全入口:资源文件暴露问题与 iOS 混淆实战(含 Ipa Guard 应用经验)
  • 打卡day38
  • Elasticsearch创建快照仓库报错处理
  • 【深度学习】9. CNN性能提升-轻量化模型专辑:SqueezeNet / MobileNet / ShuffleNet / EfficientNet
  • 力扣热题——分类求和并作差
  • Java实现加解密和通信安全
  • C++11 -- 右值引用和移动语义
  • python多进程
  • 网络推广平台加盟/seo综合查询软件排名
  • 2022年好的网站在线客服/关键词推广技巧
  • wordpress 调试php代码/重庆seo按天收费
  • 云南网页/北京seo平台
  • 青岛网站建设哪家公司好/网站网络优化外包
  • 做外国美食的视频网站/企业如何进行网络营销