寒假作业1.1

问答题:

一.说真的我没学过c++,但对才语言有啥缺点我真没感觉。。。是我的能力还没涉及到这缺点的界限吗。。。

二.c语言编译过程

1.编译预处理:读取C语言源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。基本上完成的是对源程序的“替代”工作,将原文件转化为一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。

2.编译过程:是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。

3.优化:一部分是对中间代码的优化。这种优化不依赖于具体的计算机。另一种优化则主要针对目标代码的生成而进行的。 

4. 汇编过程:实际上指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。

5. 链接程序:主要工作是将有关的目标文件彼此相连接,也就是将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来。使所有程序成为一个统一的可被操作系统执行的整体。用来处理不同文件间的函数调用与符号调用。

引用资料:C语言的编译过程 C语言编译全过程介绍

你可能感兴趣的:(寒假作业1.1)