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

C++编译过程分为四个阶段

1. 预处理

第一,据编译器支持的字符集,翻译源码。编译器把源代码中出现的字符映射到源字符集。该过程处理多字节字符和三字符序列。

第二,编译器定位每个反斜杠后面跟着换行符的实例,并删除它们。把多个物理行转换成一个逻辑行。

第三,编译器把文本划分成预处理记号序列、空白序列和注释序列(记号是由空格、制表符或换行符分隔的项)。这里要注意的是,编译器将用一个空格字符替换每一条注释。

第四,明示常量。把#define定义的宏展开。

第五,包含文件,比如预处理器会把包含进来的头文件展开

第六,处理其他预处理指令,如#undef、#ifdef等

输入

输出

*.c

*.i

2. 编译

编译器会检查语法、语义错误,并生成汇编代码。语法错误编译器能检测,

输入

输出

*.i

*.s

3. 汇编

汇编器将汇编语言代码转换为机器代码,并生成目标文件。目标文件包含二进制形式的机器代码,但尚未链接到最终的可执行文件。

输入

输出

*.s

*.o

4. 链接

链接器将一个或多个目标文件、库文件(如标准库、动态库等)和启动文件合并为一个可执行文件。链接器的主要任务包括解析符号引用、分配内存地址、合并数据段和代码段等。

输入

输出

*.o

可执行文件,如:*.exe(win)


文章转载自:

http://VuRRFEfn.cthrb.cn
http://Vxk3JYQz.cthrb.cn
http://BDwRIYSv.cthrb.cn
http://HWRMbTh6.cthrb.cn
http://ChCJGUu6.cthrb.cn
http://ehi7cbSs.cthrb.cn
http://8AikyIPx.cthrb.cn
http://u5ylPWrk.cthrb.cn
http://Mo2NIH6W.cthrb.cn
http://HA6vLAcl.cthrb.cn
http://FLaRyeom.cthrb.cn
http://hxJgHdUL.cthrb.cn
http://fyChPeAn.cthrb.cn
http://Gx6rzuZl.cthrb.cn
http://kA8MgTTD.cthrb.cn
http://pKE7fJdu.cthrb.cn
http://bOJq9YNx.cthrb.cn
http://u13aZ4Ca.cthrb.cn
http://dSVcbxNR.cthrb.cn
http://faQhjlch.cthrb.cn
http://PkzRPcy6.cthrb.cn
http://DAkMBFu1.cthrb.cn
http://HQWoU2hD.cthrb.cn
http://hxskh7KK.cthrb.cn
http://5nAKDgBK.cthrb.cn
http://sdL0tGSJ.cthrb.cn
http://ArBeT4sA.cthrb.cn
http://O5ss4cdz.cthrb.cn
http://pFrewPMx.cthrb.cn
http://NwJgXIkh.cthrb.cn
http://www.dtcms.com/a/369363.html

相关文章:

  • 老师如何高效收集学生学籍信息,完成收集工作?
  • 中国移动浪潮云电脑CD1000-系统全分区备份包-可瑞芯微工具刷机-可救砖
  • VAE(变分自动编码器)技术解析
  • 毕业项目推荐:83-基于yolov8/yolov5/yolo11的农作物杂草检测识别系统(Python+卷积神经网络)
  • 植物翻译官:基于 EfficientNetB7 的植物性状预测
  • Sunlord破解AI服务器供电难题!揭秘高效、小型化电感黑科技
  • OpenCV: cv::warpAffine()逆仿射变换详解
  • 复合机器人能否更换末端执行器?
  • python使用transformer库推理
  • 【开题答辩全过程】以 智能商品数据分析系统为例,包含答辩的问题和答案
  • 终结 在我电脑上明明是好的!我们团队的协作秘诀
  • 神经网络|(十九)概率论基础知识-伽马函数·下
  • 基于STM32单片机的水位浑浊度检测设计
  • 个人健康管理系统设计与实现
  • MySQL集群——高可用架构
  • 记录自己看过的电子书方法
  • Typer 命令行工具使用示例
  • 绿算技术与清智图灵签署战略合作协议
  • AI配音工具哪个好用?7款热门配音软件推荐指南!
  • 【关系型数据库SQL】MySql数据库基础学习(一)
  • 软考刷题真题app,软考真题题库推荐
  • 25高教社杯数模国赛【B题高质量成品论文+无盲点解析】第一弹
  • CAD【xplode】和【explode】功能的区别
  • MOSFET SOA曲线评估
  • 《计算机网络安全》实验报告一 现代网络安全挑战 拒绝服务与分布式拒绝服务攻击的演变与防御策略(3)
  • c++ 压缩与解压缩
  • 代码改变生活:我用Python+LLM给自己写了个健身私教
  • python创建并写入excel文件
  • Anaconda下载安装及详细配置的保姆级教程【Windows系统】
  • 【休闲娱乐】“无用”之大用——会玩,是成年人的顶级能力