预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件键缓答无异,只是内容上有所不同。读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理。①将所有的“#define”删除,并且展开所有的宏定义②处理所有的条件编译指令,如:“#if”“#ifdef”、“#elif”、“#else”、“endif”等。这些伪指令的引入使得程序员可以通过定义不同的宏来决定编译程序对哪些代码进行处理。预编译程序将根据有关的文件,将那些不必要的代码过滤掉。③处理“#include”预编译指令,将被包含的文件插入到该预编译指令的哪手位置。(注意:这个过程可能是递归进行的,也就是说被包含的文件可能还包含其他文件)。
编译程序指将某一种程序设计语言写的程序翻译成等价的另一简脊种语言的程序的程序, 称之为编译程序
编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。
它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
编译程序的实现算法较为复杂,这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系,同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。
由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、野渣复杂性较高、且需要高效运行的高级语言书写的源程序。
扩展资料:
编译颂咐悄流程分为了四个步骤:
1.预处理,生成预编译文件(.文件)
2.编译,生成汇编代码(.s文件)
3.汇编,生成目标文件(.o文件)
4.链接,生成可执行文件
参考资料:编译程序_百度百科
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)