C++中的编译和链接过程

平时我们所说的编译主要包括预编译、编译、汇编三部分,下面分别简单介绍一下:

预编译:由源文件“.cpp/.c”生成“.i”文件
主要工作: a 展开所有的宏定义,消除“#define”;
				b 删除所有的注释;
				c 处理#include预编译指令,将包含文件插入到该预编译的位置;
				d 处理所有的预编译指令,比如#if、#ifdef等
				
编译:由“.i”文件生成“.s”文件
主要工作:a 词法分析 -- 识别单词,确认词类;比如int i;知道int是一个类型,i是一个关键字以及 判断i的名字是否合法
				 b 代码生成 -- 生成译文;
				c 语法分析 -- 识别短语和句型的语法属性;
				d 语义分析 -- 确认单词、短语和句型的语义特征;
				e 代码优化 -- 修辞、文本编辑;

汇编:由“.s”文件生成的“.obj”文件

链接:合并所有的目标文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值