一. 过程:
1.预处理:
预编译主要处理源码中以#开始的预编译指令,eg:#include ,#define
(1)删除所有的#define 并且展开所有的宏,删除所有的 // 或者 /* */
(2)处理所有的条件语句 eg:#if 、 #ifDef #elif #else #endIf
(3)处理所有的#include 语句 ,将被包含的文件插入到该预编译指令的位置 ,这是一个递归的过程,被包含的文件可能还包含了别的文件
(4)添加行号和文件名标识, 保留所有的 #program编译器指令
2.编译
编译就是把预处理完的文件,进行一系列的词法分析,语法分析,语义分析及优化分析后产生的汇编代码文件,
3.汇编
汇编器as就是将汇编代码转变成机器可以执行的语言,每一条汇编语句几乎都对应一条机器指令。所以 汇编就是 根据汇编指令 和机器指令的 对照表 ,一一对照翻译。 文件通过预编译 ,编译 ,汇编 就可以直接输出目标文件了
4.链接
我们需要把一大堆的文件链接起来才可以得到a.out 文件(最终的可执行文件);
#问题
1. 这个地方怎么变成这样的 ,愣是没看懂

二、 运行时库:支持程序运行的基本函数的集合
库: 是一组目标文件的包,就是一些常用的代码编译成 目标文件 打包存放 ,
网友评论