一、编译&链接
有没有想过,一个C语言程序是如何转化成一个可执行程序
从宏观来讲,这需要两大步骤
分别是编译、链接
二、编译
(1)预编译
<1>将#include 包含的头文件进行替换
<2>删除注释的代码,并替换为空格
<3>将#define 定义的标识符替换
(2)编译->编译完成后,生成初版的汇编代码
<1>语义分析
<2>词义分析
<3>语法分析
<4>符号汇总
(3)汇编
<1>生成符号表
<2>将汇编指令转化为二进制
三、链接
(1)合并段表
(2)合并符号表并进行符号表的重定位