编译过程

编译过程主要分为4个过程 
 
1) 编译预处理 预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。
  • 宏定义命令;例如#define
  • 条件编译指令;例如#ifdef
  • 头文件包含指令;例如#include
  • 特殊符号;例如__LINE__,__FILE__
  • 预处理模块;例如#pragma

2) 编译、优化阶段:通过词法分析、语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码或汇编代码。
在C++中,以下函数如果你没有定义但是被需要时,编译器会产生他们:默认构造函数、拷贝构造函数、析构函数、赋值运算符和一对取址运算符。

3) 汇编过程: 把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。

4) 链接程序 :将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的这些目标文件成为一个能够诶操作系统装入执行的统一整体。
-l 的作用是做链接,链接的库是“boost_system”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>