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

C++ 编译三环节

预处理

处理预处理指令。移除注释,展开宏,展开头文件。

#pragma once#include <cstdio>
#ifdef OS_LINUX
#endif // OS_LINUX/* comment */

生成没有预处理指令的 C++ 文件。 

汇编

将预处理后的文件作为输入,进行词法解析、语法解析、语义解析。将 C++ 源代码转化成汇编代码。

调用汇编工具将汇编代码转化为可以被计算机直接执行的二进制文件。汇编器将每个源文件编译成一个目标文件,将目标文件组合成一个可执行文件。

目标文件可以引用未定义的符号。

链接

链接器会根据编译器生成的目标文件生成最终的编译输出。将对未定义符号的引用替换为正确的地址来链接所有目标文件。

在此阶段,最常见的错误是缺少定义或重复定义。


http://www.mrgr.cn/news/17877.html

相关文章:

  • centos8 install .net8
  • 前端vue中怎么判断接口请求返回的时长
  • 页面滚动到指定位置——记录div滚动高度,并下次自动滚动到该位置
  • Shopee、Lazada等跨境平台如何获取优质的评价?
  • 09-02 周一 Ubuntu上使用docker-compose部署elasticsearch和kibana服务
  • C#上位机使用Microsoft.Office.Interop.Excel和EPPlus库对Excel或WPS表格进行写操作
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——9.模板进阶
  • 【功能自动化】使用HTMLTestRunner生成测试报告
  • 计算机视觉之 SE 注意力模块
  • Excel中格式化日期字符的六种方法
  • 东南大学研究生-数值分析上机题(2023)Python 3 线性代数方程组数值解法
  • css之雪碧图(精灵图)
  • 通过旋转、平移求取矩形顶点坐标
  • 登山第二梯:ROS+VSCode+C++环境配置
  • 编程要由 “手动挡” 变 “自动挡” 了?Cursor+Claude-3.5-Sonnet,Karpathy 点赞的 AI 代码神器。如何使用详细教程
  • osi 7层网络模型
  • 量化交易思维,股票被套,回本应该马上抛掉吗
  • 键盘接入Linux
  • css实现卡片右上角的状态
  • 学习大数据DAY49 考后练习题