能将高级语言源程序转换成目标程序的是( )。

能将高级语言源程序转换成目标程序的是( )。,第1张

热心网友

B)解释程序 C)编译程序

这两个都是正确的,以下出自 唐朔飞 老师的书,计算机组成原理第2版 的内容,

第4页上方:

通常由用户用高级语言编写程序(称为源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能识别的机器语言程序(称为目标程序),机器自动运行该机器语言程序,并

第4页中部:

机器语言(用0、1代码表示的语言),用户必须用二进制代码(0、1)来编写程序(即机器语言程序)

第5页的下面:

通常,将高级语言程序翻译成机器语言程序的软件称为翻译程序。翻译程序有两种:一种是编译程序,另一种是解释程序。

编译程序是将用户编写的高级语言程序(源程序)的全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序。因此只要源程序不变,就无须再次进行翻译。

解释程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条语句,接着翻译源程序的下一条语句,并执行这条语句,如此重复直至完成源程序的全部翻译任务。它的特点是翻译一次执行一次,即使下一次重复执行该语句时,也必须重新翻译。

你的问题是,能将高级语言编写的源程序转换为目标程序的是什么?

我自己的总结:

编译程序 和 解释程序 虽然做事方式上有很大差别,但是做的事都是将源程序转换成目标程序,只不过编译是编译一次,只要源程序无变化,就无须再次编译,编译得到内容永远留下来了。解释虽然内容不会留下来,但是每次执行都进行翻译,所以根据你的题意,转换为目标程序的 两者都是。

至于 编辑程序,那太多了,什么 视频编辑程序、编辑程序、音乐编辑程序、记事本也算,文本编辑器什么的,总之就是做东西的,这个编辑程序不算什么名词,也没有什么概念,意义也不严格。

还有 链接程序,我不知道这个是什么,这个不出名,可能是因为我不会C,和C有关么?我想这个也没什么意义吧。

(总体上说)称为编译。

高级语言如果指的是C的话:

C语言详细编译过程分成四个步骤:

1 预处理(preprocessor):将存储在不同文件的源程序(c文件)聚合在一起,将语言中的宏进行替换,比如预处理指令#include,让编译器打开包含的文件,将其程序与其他程序呆在一起生成i文件。

2编译:预处理源程序(i文件)变为汇编程序(s文件)

3汇编(assember):将汇编程序转换为可重定位(relocatable: 就是说文件里面的代码段和数据的地址还没有最终确定)的机器代码,这一步产生目标文件(obj或o文件)。

4链接(linker)/加载(loader): 链接就是把目标文件和其他分别进行编译生成的程序模块(如果有的话)及系统提供的标准库函数连接在一起,生成可运行的可执行文件的过程,加载时将各代码与数据定位到内存合适的位置,这一步产生最终的可执行文件。

源代码需经过编译和链接,才可生成可执行文件。

由汇编程序生成的目标文件并不能立即就被执行,其中可能还有许多没有解决的问题。 例如,某个源文件中的函数可能引用了另一个源文件中定义的某个符号(如变量或者函数调用等);在程序中可能调用了某个库文件中的函数,等等。所有的这些问题,都需要经链接程序的处理方能得以解决。

  链接程序的主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的这些目标文件成为一个能够诶 *** 作系统装入执行的统一整体。

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

(1)静态链接

在这种链接方式下,函数的代码将从其所在地静态链接库中被拷贝到最终的可执行程序中。这样该程序在被执行时这些代码将被装入到该进程的虚拟地址空间中。静态链接库实际上是一个目标文件的集合,其中的每个文件含有库中的一个或者一组相关函数的代码。

(2) 动态链接

在此种方式下,函数的代码被放到称作是动态链接库或共享对象的某个目标文件中。链接程序此时所作的只是在最终的可执行程序中记录下共享对象的名字以及其它少量的登记信息。在此可执行文件被执行时,动态链接库的全部内容将被映射到运行时相应进程的虚地址空间。动态链接程序将根据可执行程序中记录的信息找到相应的函数代码。

对于可执行文件中的函数调用,可分别采用动态链接或静态链接的方法。使用动态链接能够使最终的可执行文件比较短小,并且当共享对象被多个进程使用时能节约一些内存,因为在内存中只需要保存一份此共享对象的代码。但并不是使用动态链接就一定比使用静态链接要优越。在某些情况下动态链接可能带来一些性能上损害。

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

所以能将高级语言编写的源程序转换为目标程序的是相应的高级语言编译程序

故答案为C—编译程序

编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。

参考资料:

编译程序_百度百科

以上就是关于能将高级语言源程序转换成目标程序的是( )。全部的内容,包括:能将高级语言源程序转换成目标程序的是( )。、将用高级语言编写的源程序转换成等价的目标程序的过程,称为、用c语言编写的源程序需要用编译程序先编译成由机器语言组成的目标程序,在经过( )后才能得到可执行程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/9658346.html

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

发表评论

登录后才能评论

评论列表(0条)

保存