转载:C++_编译过程
1.编译预处理 处理#define宏定义替换 输出.i文件
2.编译 优化:翻译成汇编代码 .i文件转化为.s 文件
3.汇编:把汇编语言翻译成机器指令过程,生成目标文件 (.o .obj),文件由.s文件转换为.o文件
代码段:包含程序的指令,可读和可执行的,一般不可写
数据段:存放程序用到全局变量和静态数据。可读,可写,可执行
4.链接程序:生成的目标文件不能立即执行,需要链接过程,某个源文件调用了另一个源文件函数或常量,将.o文件转换为可执行文件
转载:https://zhuanlan.zhihu.com/p/45402323