一个源程序要成为一个可执行程序需要经历两个环境,分别是翻译环境、运行环境。
翻译环境分为两个过程,分别是编译、链接;
编译又分为三个子过程,分别是预处理器处理、编译、汇编;
编译:
预处理器处理主要是:
1、注释删除
2、头文件的包含
3、define定义的标识符的替换 (文本操作)
(生成.i文件)
编译主要进行:语法分析、词法分析、语义分析、符号汇总(生成.s文件);
汇编主要进行:1、形成符号表
2、将汇编指令转化成二进制指令(生成.o文件)
链接:1.合成段表
2、符号表的合并和符号表的重定位