经过编译所得到的目标程序是 经过编译后生成的是什么文件
2025-03-24 01:56 - 立有生活网
编译程序是否能够产生目标程序?
物理页面表:整个系统有一个物理页面表,描述物理内存空间的分配使用状况,其数据结构可采用位示图和空闲页链表。是的。虽然常用的集成开发环境把编译过程及链接过程连在一起,但从严格意义上讲,我们通常说的编译(静态编译)是把源程序转换成语义等价的目标程序,然后由链接器(linker)把一个(或多个)目标程序与程序库链接成可执行文件
经过编译所得到的目标程序是 经过编译后生成的是什么文件
经过编译所得到的目标程序是 经过编译后生成的是什么文件
允许一个作业存放在不连续的内存块中而又能保证作业连续得以运行
用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将?
分区式存储管理c、往往需要多次缺页中断才能把所需的信息完整地调入内存。引人了两个新的问题:内碎片和外碎片。前者是占用分区内未被利用的空间,后者是占用分区之间难以利用的空闲分区(通常是小空闲分区)。为实现分区式存储管理,作系统应维护的数据结构为分区表或分区链表。表中各表项一般包括每个分区的起始地址、大小及状态(是否已分配)。B,先生成目标文件。之后的工作不再由编译器完成,而是交给linker执行link作,才能生成可执行文件。
系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。
什么是源程序和目标程序
c、往往需要多次缺页中断才能把所需的信息完整地调入内存。源程序source
program
是一种计算机的代码。它会符合一定的语法,经过编译器编译或解释后生成具有一定功能的可执行文件或组件,也可以是某种接口。是用程序3.链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1...设计语言编写的程序。
用源语言如fortran、basic等语言编写的程序。源语言是指可以导出另一种语言的语言,它所产生的语言称为目标语言。对于计算机作而言,必须将源语言编写的程序编译成目标程序。
源程序是编程人员编写的,必须由变员生成可执行
程序,别人才可以应用。例如你可以点击网页上的查看----》源文件,那就是
用文本语言编制的,而目标程序,是你电脑上的快捷方式连接的.exe
文件,即可执行程序。所以可执行程序是由源文件生成的便于用户使用的文件。
作系统页式存储管理的问题
,既不需要移动内存中的信息,又可较好地解决零头。内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。
下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。
1. 连续分配存储管理方式
连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理两种方式。
(1)单一连续存储管理
在这种管理方式中,内存被分为两个区域:系统区和用户区。应用程序装入到用户区,可使用用户区全部空间。其特点是,最简单,适用于单用户、单任务的作系统。CP/M和DOS 2.0以下就是采用此种方式。这种方式的优点就是易于管理。但也存在着一些问题和不足之处,例如对要求内存空间少的程序,造成内存浪费;程序全部装入,使得很少使用的程序部分也占用—定数量的内存。
(2)分区式存储管理
为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。分区式存储管理是把内存分为一些大小相等或不等的分区,作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。
分区式存储管理常采用的一项技术就是内存紧缩(compaction):将各个占用分区向内存一端移动,然后将各个空闲分区合并成为一个空闲分区。这种技术在提供了某种程度上的灵活性的同时,也存在着一些弊端,例如:对占用分区进行内存数据搬移占用CPU~t寸间;如果对占用分区中的程序进行“浮动”,则其重定位需要硬件支持。
固定式分区的特点是把内存划分为若干个固定大小的连续分区。分区大小可以相等:这种作法只适合于多个相同程序的并发执行(处理多个类型相同的对象)。分区大小也可以不等:有多个小分区、适量的中等分区以及少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。这种技术的优点在于,易于实现,开销小。缺点主要有两个:内碎片造成浪费;分区总数固定,限制了并发执行的程序数目。
2)动态分区(dynamic partitioning)。
动态分区的特点是动态创建分区:在装入程序时按其初始要求分配,或在其执行过程中通过系统调用进行分配或改变分区大小。与固定分区相比较其优点是:没有内碎片。但它却引入了另一种碎片——外碎片。动态分区的分区分配就是寻找某个空闲分区,其大小需大于或等于程序的要求。若是大于要求,则将该分区分割成两个分区,其中一个分区为要求的大小并标记为“占用”,而另一个分区为余下部分并标记为“空闲”。分区分配的先后次序通常是从内存低端到高端。动态分区的分区释放过程中有一个要注意的问题是,将相邻的空闲分区合并成一个大的空闲分区。
下面列出了几种常用的分区分配算法:
首先适配法(nrst-fit):按分区在内存的先后次序从头查找,找到符合要求的个分区进行分配。该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端。但随着低端分区不断划分会产生较多小分区,每次分配时查找时间开销便会增大。
下次适配法(next-fit):按分区在内存的先后次序,从上次分配的分区起查找(到{区时再从头开始},找到符合要求的个分区进行分配。该算法的分配和释放的时间性能较好,使空闲分区分布得更均匀,但较大空闲分区不易保留。
适配法(best-fit):按分区在内存的先后次序从头查找,找到其大小与要求相最小的空闲分区进行分配。从个别来看,外碎片较小;但从整体来看,会形成较多外碎片优点是较大的空闲分区可以被保留。
最坏适配法(worst- fit):按分区在内存的先后次序从头查找,找到的空闲分区进行分配。基本不留下小空闲分区,不易形成外碎片。但由于较大的空闲分区不被保留,当对内存需求较大的进程需要运行时,其要求不易被满足。
2.覆盖和交换技术
引入覆盖(overlay)技术的目标是在较小的可用内存中运行较大的程序。这种技术常用于多道程序系统之中,与分区式存储管理配合使用。覆盖技术的原理很简单,一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。将程序必要部分(常用功能)的代码和数据常驻内存;可选部分(不常用功能)平时存放在外存(覆盖文件)中,在需要时才装入内存。不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。覆盖技术的缺点是编程时必须划分程序模块和确定程序模块之间的覆盖关系,增加编程复杂度;从外存装入覆盖文件,以时间延长换取空间节省。覆盖的实现方式有两种:以函数库方式实现或作系统支持。
在前面的几种存储管理方法中,为进程分配的空间是连续的,使用的地址都是物理地址。如果允许将一个进程分散到许多不连续的空间,就可以避免内存紧缩,减少碎片。基于这一思想,通过引入进程的逻辑地址,把进程地址空间与实际存储空间分离,增加存储管理的灵活性。地址空间和存储空间两个基本概念的定义如下:
地址空间:将源程序经过编译后得到的目标程序,存在于它所限定的地址范围内,这个范围称为地址空间。地址空间是逻辑地址的。
存储空间:指主存中一系列存储信息的物理单元的,这些单元的编号称为物理地址存储空间是物理地址的。
根据分配时所采用的基本单位不同,可将离散分配的管理方式分为以下三种
段式存储管理和段页式存储管理。其中段页式存储管理是前两种结合的产物。
(1)页式存储管理
1)基本原理。将程序的逻辑地址空间划分为固定大小的页(page),而物理内存划分为同样大小的页框(pageframe)。程序加载时,可将任意一页放人内存中任意一个页框,这些页框不必连续,从而实现了离散分配。该方法需要CPU的硬件支持,来实现逻辑地址和物理地址之间的映射。在页式存储管理方式中地址结构由两部构成,前一部分是页号,后一部分为页内地址,如图4-2所示。
这种管理方式的优点是,没有外碎片,每个内碎片不超过页前面所讨论的几种管理方式的进步是,一个程序不必连续存放。这样就便于改变程序占用空间的大小(主要指随着程序运行,动态生成的数据增多,所要求的地址空间相应增长)。缺点是仍旧要求程序全部装入内存,没有足够的内存,程序就不能执行。
实际的页框使用情况。作系统还要在进程切换时,正确地切换两个不同的进程地址空间到物理内存空间的映射。这就要求作系统要记录每个进程页表的相关信息。为了完成上述的功能,—个页式系统中,一般要采用如下的数据结构。
进程页表:完成逻辑页号(本进程的地址空间)到物理页面号(实际内存空间)的映射。
每个进程有一个页表,描述该进程占用的物理页面及逻辑排列顺序。
请求表:整个系统有一个请求表,描述系统内各个进程页表的位置和大小,用于地址转换也可以结合到各进程的PCB(进程控制块)里。
在页式系统中,指令所给出的地址分为两部分:逻辑页号和页内地址c语言运行方式如下:。CPU中的内存管理单元(MMU)按逻辑页号通过查进程页表得到物理页框号,将物理页框号与页内地址相加形成物理地址(见图4-3)。上述过程通常由处理器的硬件直接完成,不需要软件参与。通常,作系统只需在进程切换时,把进程页表的首地址装入处理器特定的寄存器中即可。一般来说,页表存储在主存之中。这样处理器每访问一个在内存中的作数,就要访问两次内存。次用来查找页表将作数的逻辑地址变换为物理地址;第二次完成真正的读写作。这样做时间上耗费。为缩短查找时间,可以将页表从内存装入CPU内部的关联存储器(例如,快表)中,实现按内容查找。此时的地址变换过程是:在CPU给出有效地址后,由地址变换机构自动将页号送人快表,并将此页号与快表中的所有页号进行比较,而且这种比较是同时进行的。若其中有与此相匹配的页号,表示要访问的页的页表项在快表中。于是可直接读出该页所对应的物理页号,这样就无需访问内存中的页表。由于关联存储器的访问速度比内存的访问速度快得多。
(2)段式存储管理
1)基本原理。
在段式存储管理中,将程序的地址空间划分为若干个段(segment),这样每个进程有一个二维的地址空间。在前面所介绍的动态分区分配方式中,系统为整个进程分配一个连续的内存空间。而在段式存储管理系统中,则为每个段分配一个连续的分区,而进程中的各个段可以不连续地存放在内存的不同分区中。程序加载时,作系统为所有段分配其所需内存,这些段不必连续,物理内存的管理采用动态分区的管理方法。在为某个段分配物理内存时,可以采用首先适配法、下次适配法、适配法等方法。在回收某个段所占用的空间时,要注意将收回的空间与其相邻的空间合并。段式存储管理也需要硬件支持,实现逻辑地址到物理地址的映射。程序通过分段划分为多个模块,如代码段、数据段、共享段。这样做的优点是:可以分别编写和编译源程序的一个文件,并且可以针对不同类型的段采取不同的保护,也可以按段为单位来进行共享。总的来说,段式存储管理的优点是:没有内碎片,外碎片可以通过内存紧缩来消除;便于实现内存共享。缺点与页式存储管理的缺点相同,进程必须全部装入内存。
2)段式管理的数据结构。
为了实现段式管理,作系统需要如下的数据结构来实现进程的地址空间到物理内存空间的映射,并跟踪物理内存的使用情况,以便在装入新的段的时候,合理地分配内存空间。
·空闲段表:内存中所有空闲段,可以结合到系统段表中。
3)段式管理的地址变换。
在段式管理系统中,整个进程的地址空间是二维的,即其逻辑地址由段号和段内地址两部分组成。为了完成进程逻辑地址到物理地址的映射,处理器会查找内存中的段表,由段号得到段的首地址,加上段内地址,得到实际的物理地址(见图4—4)。这个过程也是由处理器的硬件直接完成的,作系统只需在进程切换时,将进程段表的首地址装入处理器的特定寄存器当中。这个寄存器一般被称作段表地址寄存器。
4.页式和段式系统的区别
页式和段式系统有许多相似之处。比如,两者都采用离散分配方式,且都通过地址映射机构来实现地址变换。但概念上两者也有很多区别,主要表现在:
·页是信息的物理单位,分页是为了实现离散分配方式,以减少内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要。
·页的大小固定且由系统决定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的。段的长度不固定,且决定于用户所编写的程序,通常由编译系统在对源程序进行编译时根据信息的性质来划分。
·页式系统地址空间是一维的,即单一的线性地址空间,程序员只需利用一个标识符,即可表示一个地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
原理作业10. 页式存储管理和段式存储管理的工作原理特点、特点
及优劣。
答:页式管理的基本思想是:为了更好地利用分区存储管理中
所产生的"零头"问题,允许把一个作业存放在不连续的内存块中,
又可以连续运行,它允许只调入用户作业中常用部分,不常用部分
不长期驻留内存,有效提高了内存的利用率。
页式存储管理的工作原理:
A、划分实页:将物理内存划分成位置固定、大小相同的"块"(实页
面)。
B、划分虚页:将用户逻辑地址空间也分成同样大小的页面,成为虚
拟空间的虚页面。
C、建立页表:有时称为页面表或页面映射表(PMT)。每个作业一
张,按虚页号进行登记,其基本的内容有特征位(表示该页是否
D、地址变换:将虚页面的逻辑地址转化为实页面的物理地址,在程
序执行时改变为物理地址,属于作业的动态重定位,一般由地址
转换机构(硬件)完成。
特点:
b、允许用户作业不是一次集中装入内存而是根据需要调入,作业中
不常用部分不长期驻留内存,而本次运行的不用部分根本就不装
入内存。
制。
a、页式管理在内存的共享和保护方面还欠完善。
b、页面大小相同,位置不能动态增加。
段式存储管理的基本思想是:把程序按内容或过程(函数)关系
分成段,每段有自己的名字。一个用户作业或进程所包含的段对应于
一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式管理程序
化为内存中的实际地址。和页式管理一样,段式管理也采用只把那些
经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放
在外存,待需要时自动调入内存的方法实现二维虚拟存储器。按照作
业的逻辑单位--段,来分配内存,适合程序的逻辑结构,方便用户设
计程序。
段式存储管理的工作原理:
A、采用二维地址空间,如段号(S)、页号(P)和页内单元号(D);
B、系统建两张表格每一作业一张段表,每一段建立一张页表,段表
指出该段的页表在内存中的位置;
C、地址变换机构类似页式机制,只是前面增加一项段号。
特点:
a、每一段分成若干页,再按页式管理,页间不要求连续;
便于段的共享和保护、段的动态增长以及动态连接。
为了消除零头和允许段的动态增长,需要花费CPU的大量时间在内存
中移动作业的分段,而且段的大小也给外存管理带来困难。
已知某高级语言源程序A经编译后得到机器C上目标程序B,则( )。
【】编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。:A
本题考查程序语言方面基础知识。交换(swapping)技术在多个程序并发执行时,可以将暂时不能执行的程序送到外存中,从而获得空闲内存空间来装入新程序,或读人保存在外存中而处于就绪状态的程序。交换单位为整个进程的地址空间。交换技术常用于多道程序系统或小型分时系统中,与分区式存储管理配合使用又称作“对换”或“滚进/滚出”(roll-in/roll-out)。其优点之一是增加并发运行的程序数目,并给用户提供适当的响应时间;与覆盖技术相比交换技术另一个显著的优点是不影响程序结构。交换技术本身也存在着不足,例如:对换人和换出的控制增加处理器开销;程序整个地址空间都进行对换,没有考虑执行过程中地址访问的统计特性。编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价汇编程序。
C语言是怎样被编译成目标程序的呢?
在内存、实页号以及对应外存的地址。1 写代码。这是最基础的一步,即实现C语言的源文件(.c,必需),和可能的头文件(.h,非必需)。
2 编译。将编写好的代码,通过编译工具,转换为目标文件。此步中,会对文件内部及包含的头文件进行语法语义的分析检查。如果出错,则必须返回到1步对代码进行修改,直到没有错误为止。
3 链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1修改代码。直到没有错误。
4 运行。这个是一步,也是C语言的最终目的。
在运行结果与期望不符时,需要检查原因,修改代码,a、不要求作业存放在连续的内存块中,有效地解决零头。重新执行1,2,3直到程序没有问题。
c语言是怎样编译成可执行文件的?
优点:上机输入和编译源程序。通过键盘向计算机输入程序,将此源程序以文件形式存放在文件夹内,文件用.c作为后缀,生成源程序文件。对源程序进行编译,先用c编译系统提供的“预处理器”对程序中的预处理指令进行编译预处理。例如,对于#include指令来说,就是将st,既不需要移动内存中的信息,又可较好地解决零头。dio.h头文件的内容读进来,取代#include行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来正式编译的源程序,然后由编译系统对该源程序进行编译。
编译的作用是对源程序进行检查,判定程序有无语法的错误。直到没有错误时,编译程序自动把源程序转换为二进制形式的目标程序进行连接处理。经过编译后所得到的二进制目标文件还不能供计算机直接执行。一个程序可能包含若干个源程序文件,而一次编译只能得到与一个源程序文件相对应的目标文件,
只是程序的一部分,必须把所有编译后得到的目标文件链接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序,即使一个程序只包含一个源文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要和函数库进行连接,才能生成可执行程序。运行可执行程序,得到运行结果。把f.exe输入计算机,并使之运行,得到结果。
C语言源程序到运行程序经过哪几个步骤
预处理阶段:预处理器(cpp)根据以字符#开头的命令,修改原始的C程序。比如hello.c中行的#include
编译阶段:编译器(ccl)将文本文件hello.i翻译成文本文件hello.s,它包含一个汇编语言程序。汇编语言程序中的每条语句都以一种标准的文本格式确切的描述了一条低级机器语言指令。
汇编阶段:汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成一种可重定位目标程序的格式,并将结果保存在目标文件hello.o中。hello.o文件是一个二进制文件,它的字节编码是机器语言指令而不是字符,如果我们在文本文件中打开hello.o文件,看到的将是一堆乱码。
链接阶段:链接器(ld)负责处理合并目标代码,生成一个可执行目标文件,可以被加载到内存中,由系统执行
C源程序到运行程序步骤:
1.编辑:输入源程序并3、由汇编器生成二进制文件(.obj)。存盘(.C)
2.编译:将源程序翻译为目标文件实在不明白用排除法(.OBJ)
3.链接:将目标文件生成可执行文件( .EXE)
4.运行:执行.EXE文件,得到运行结果
四个步骤
C语言经过编译成汇编程序 ,编译得到的汇编语言通过汇编器(assembler)再汇编成可重定位目标程序
C语言源程序文件经过编译连接之后生成一个后缀为_____的文件。
1)固定分区(nxedpartitioning)。如果只生成一个文件,那么这个题目是B。编译(compile)后生成目标文件,后缀:.obj。也就是机器码。
然后链接器 (Linker) 连接生成可执行文件,后缀:.exe。运行命令(go),直接运行.exe文件。
扩展资料:
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。
一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。
源代码一般为高级语言 (High-ll language), 如Pascal、C、C++、Ja、汉语编程等或汇编语言。
而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。
运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
参考资料:
一、C语言源程序文件经过编译连接之后生成一个后缀为 .exe 的文件。
二、编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照作系统对可执行文件格式的要求链接生成可执行程序。
1、预编译,对源代码的宏进行替换,生成中间文件(文本,默认不保留)。
2、翻译为汇编代码(文本,默认不保留)。
4、连接为可执行文件(.exe)。
C语言源程b、用分段方法分配管理作业,用分页方法分配管理内存;序文件经过编译连接之后生成一个后缀为__C___的文件。
编译程序和解释程序均能产生目标程序吗
目前被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。 (了解内容二)不能
因为:编译程序能产生目3.页式和段式存储管理标程序而解释程序则不能
补充:解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;编译程序(编译器)则是将源程序翻译成目标语言程序,然后在计算机上运行目标程序。两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,而在解释方式下,解释程序和源程序(或某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不生成的目标程序,而编译器则将源程序翻译成的目标程序。
能将高级语言编写的源程序转换为目标程序的是
编译。
编译就是利用编译程序从源语言编写的源程序产生目标程序的过程,就是用编译程序产生目标程序的动作。
编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
扩展资料:
编译程序的特点:
1、数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。
符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字存储管理的基本原理内存管理方法符串、复型、标号等),以及目标程序所需的其他信息。
2、分析部分源程序的分析是经过词法分析、语法分析和语义分析三个步骤实现的。
词法分析由词法分析程序(又称为扫描程序)完成,其任务是识别单词(即标识符、常数、保留字,以及各种运算符、标点符号等)、造符号表和常数表,以及将源程序换码为编译程序易于分析和加工的内部形式。
语法分析程序是编译程序的核心部分,其主要任务是根据语言的语法规则,检查源程序是否合乎语法。如不合乎语法,则输出语法出错信息;如合乎语法,则分解源程序的语法结构,构造中间语言形式的内部程序。
参考资料来源:搜狗百科-编译
热心网友
B)解释程序 C)编译程序
这两个都是正确的,以下出自 唐朔飞 老师的书,计算机组成原理第2版 的内容,
第4页上方:
通常由用户用高级语言编写程序(称为源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能识别的机器语言程序(称为目标程序),机器自动运行该机器语言程序,并....
第4页中部:
机器语言(用0、1代码表示的语言),用户必须用二进制代码(0、1)来编写程序(即机器语言程序)
第5页的下面:
通常,将高级语言程序翻译成机器语言程序的软件称为翻译程序。翻译程序有两种:一种是编译程序,另一种是解释程序。
编译程序是将用户编写的高级语言程序(源程序)的全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序。因此只要源程序不变,就无2)页式管理的数据结构。在页式系统中进程建立时,作系统为进程中所有的页分配页框。当进程撤销时收回所有分配给它的页框。在程序的运行期间,如果允许进程动态地申请空间,作系统还要为进程申请的空间分配物理页框。作系统为了完成这些功能,必须记录系统内存中须再次进行翻译。
解释程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条语句,接着翻译源程序的下一条语句,并执行这条语句,如此重复直至完成源程序的全部翻译任务。它的特点是翻译一次执行一次,即使下一次重复执行该语句时,也必须重新翻译。
你的问题是,能将高级语言编写的源程序转换为目标程序的是什么?
我自己的总结:
编译程序 和 解释程序 虽然做事方式上有很大别,但是做的事都是将源程序转换成目标程序,只不过编译是编译一次,只要源程序无变化,就无须再次编译,编译得到内容永远留下来了。解释虽然内容不会留下来,但是每次执行都进行翻译,所以根据你的题意,转换为目标程序的 两者都是。
至于 编辑程序,那太多了,什么 视频编辑程序、编辑程序、音乐编辑程序、记事本也算,文本编辑器什么的,总之就是做东西的,这个编辑程序不算什么名词,也没有什么概念,意义也不严格。
还有 链接程序,我不知道这个是什么,这个不出名,可能是因为我不会C,和C有关么?我想这个也没什么意义吧。
把源程序转换为目标程序的过程叫编译
所以能将高级语言编写的源程序转换为目标程序的是相应的高级语言编译程序
故为C—编译程序
应该是编译程序;解释程序需要一条一条地执行,而编译程序可以直接生成目标程序。
门敢阚姓念什么(门敢阚姓念什么阚清子)

关于门敢阚姓念什么,门敢阚姓念什么阚清子这个很多人还不知道,今天乐乐来为大家解答以上的问题,现在让我们一起来看看吧! 门敢阚姓念什么(门敢阚姓念什么阚清子) 门敢阚姓念什么(门敢阚···
特种设备综合管理系统 特种设备综合管理平台

特种设备包括哪些具体设备(特种设备有哪些?) (5)认真落实规章制度 1、特种设备包括哪些具体设备。 特种设备综合管理系统 特种设备综合管理平台 特种设备综合管理系统 特种设备综合管理平台···
梅的含义和象征意义 梅的含义和象征意义,和

关于梅的含义和象征意义,梅的含义和象征意义,和代表人物这个很多人还不知道,今天小周来为大家解答以上的问题,现在让我们一起来看看吧! 梅的含义和象征意义 梅的含义和象征意义,和代表···