把源程序转换为目标程序的过程叫什么?

把源程序转换为目标程序的过程叫什么?,第1张

一、把源程序转换为目标程序的过程叫编译。

二、什么是编译(compilation,compile)

1、利用编译程序从源语言编写的源程序产生目标程序的过程。

2、用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。

3、编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

1、编译预处理。读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。伪指令主要包括以下四个方面:

(1)宏定义指令;

(2)条件编译指令;

(3)头文件包含指令;

(4)特殊符号;

2、编译阶段。

经过预编译得到的输出文件中,将只有常量。如数字、字符串、变量的定义,以及C语言的关键字,如main,if,else,for,while,{,},+,-,*,\,等等。预编译程序所要作得工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。

3、优化阶段。

4、汇编过程。UNIX环境下主要有三种类型的目标文件:

(1)可重定位文件;

(2)共享的目标文件;

(3)可执行文件;

5、链接程序。根据开发人员指定的同库函数的链接方式的不同,链接处理可分为两种:

(1)静态链接;

(2)动态链接;

经过上述五个过程,C源程序就最终被转换成可执行文件了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12093677.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存