当前位置: 首页 > 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.链接:

http://www.xdnf.cn/news/682741.html

相关文章:

  • 基于Python的智能天气提醒助手开发指南
  • ValueError: BuilderConfig ‘xxxx‘ not found. Available:[xxx]
  • Cannot read properties of undefined (reading ‘clearSelection‘)
  • 华为仓颉语言初识:并发编程之线程的基本使用
  • PCB线路板压合工艺难点解析与技术对策
  • NB-IoT NPUSCH(三)-资源映射
  • gdiplus,GDI +为什么2001年发布后几乎没有再更新了
  • 2025 海外短剧 CPS 系统开发:技术驱动下的全球化内容分销新范式
  • SSM整合:Spring+SpringMVC+MyBatis完美融合实战指南
  • 第十二天 区块链在车辆数据存证中的应用
  • Erp系统介绍与业务方案详情
  • 彻底理解一个知识点的具体步骤
  • 【PP】SAP生产订单(创建-下达-发料-报工-入库)全流程及反向流程
  • VectorNet:自动驾驶中的向量魔法
  • 【Agent】MLGym: A New Framework and Benchmark for Advancing AI Research Agents
  • CVPR2022——立体匹配算法Fast-ACVNet复现
  • 藻华自用数据集学习2025.4.28
  • SPL 轻量级多源混算实践 2 - 查询 csv/xls 等文件
  • 将图层为shapefile类型的文件转成PostGis类型的详细实现步骤
  • 【Linux】cat命令 – 在终端设备上显示文件内容
  • 通用机环境下安全版单机数据库使用非root用户管理的解决方案
  • gbase8s统计更新(UPDATE STATISTICS)介绍
  • redis分布式锁在高并发场景下的方案设计与性能提升
  • 晓辉教育五维乾坤:五个成语解码教育范式革命
  • mysql explain使用
  • 图片压缩工具 | Electron+Vue3+Rsbuild开发桌面应用
  • SecureCRT 和 MobaXterm 用于串口收发时数据异常(无法成功发送)——更改换行符解决
  • OpenResty 入门指南:从基础到动态路由实战
  • 第1章 Redis 概述
  • Java基础 Day22