‘壹’ 高级语言程序的两种执行方式是什么
高级语言的两种执行方式
一、 解释方式
所谓解释方式就是从源程序的第一条语句开始,对每条语句都先解释,然后马上执行刚解释出的这些指令,再对下一条语句做同样的处理,直到所有语句都处理完。
解释方式有一个特点,就是翻译出来的计算机指令并不会存盘(不会生成目标代码)。执行完这些二进制指令就丢失了。因此,解释型语言没执行一次都要重新翻译并执行。
二、 编译方式
所谓编译方式,首先通过编译程序把整个源程序中的所有语句翻译为汇编语言源程序,然后再通过汇编程序把汇编语言源程序翻译为机器语言的机器指令,形成.exe文件(可执行文件),.exe文件是可以直接运行的文件。
(1)高级语音编译程序扩展阅读
1、C、C++、Java、Python等高级语言就是为了克服汇编语言的可移植性差,摆脱硬件底层的设计,用人的思维来编写程序而设计的。高级语言表达方式接近人类的语言,描述问题的能力强,通用性,可读性都很高。
2、所有的计算机语言,要想在计算机上运行都需要转变为机器语言(只有0和1组成的)才能被执行。高级语言通过编译程序(编译器)翻译成机器语言,汇编语言通过汇编程序(汇编器)翻译为机器语言。
‘贰’ 用于高级语言的编译程序有哪两种
用于高级语言的编译程序有两种:编译程序和链接程序。
以C语言为例,编译器是cc,可能链接程序就是link。
二者作用是不同的,编译器是把源程序翻译成符号语言,链接程序把来自不同源文件的多个程序整合起来,形成最终的可执行程序。
C++的编译系统沿用了C语言。其他语种,如PASCAL,DELPHI,C#,OBJECT-C,本质上没发生变化
高级语言本身分成两类,编译型和解释性的,编译型的就是上面的类型,解释型的,如BASIC,JAVA,
PHP,
PYTHON等,是不需要编译的,可以直接根据源代码(或中间代码)直接翻译到操作系统上。
‘叁’ 计算机高级语言的编译程序属于什么类的
计算机高级语言的编译程序属于系统软件类。
编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
编译程序的功能
①语法检查:检查源程序是否合乎语法。如果不符合语法,编译程序要指出语法错误的部位、性质和有关信息。编译程序应使用户一次上机,能够尽可能多地查出错误。
②调试措施:检查源程序是否合乎设计者的意图。为此,要求编译程序在编译出的目标程序中安置一些输出指令,以便在目标程序运行时能输出程序动态执行情况的信息,如变量值的更改、程序执行时所经历的线路等。这些信息有助于用户核实和验证源程序是否表达了算法要求。
③修改手段:为用户提供简便的修改源程序的手段。编译程序通常要提供批量修改手段(用于修改数量较大或临时不易修改的错误)和现场修改手段(用于运行时修改数量较少、临时易改的错误)。
④覆盖处理:主要是为处理程序长、数据量大的大型问题程序而设置的。基本思想是让一些程序段和数据公用某些存储区,其中只存放当前要用的程序或数据;其余暂时不用的程序和数据,先存放在磁盘等辅助存储器中,待需要时动态地调入。
⑤目标程序优化:提高目标程序的质量,即占用的存储空间少,程序的运行时间短。依据优化目标的不同,编译程序可选择实现表达式优化、循环优化或程序全局优化。目标程序优化有的在源程序级上进行,有的在目标程序级上进行。
⑥不同语言合用:其功能有助于用户利用多种程序设计语言编写应用程序或套用已有的不同语言书写的程序模块。最为常见的是高级语言和汇编语言的合用。
‘肆’ 高级语言源程序必须翻译成目标程序后才能执行,完成这种翻译过程的程序是编译程序。
是。
编译就是要把高级语言的源程序翻译成目标程序的过程,一般整个过程可划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段。
编译程序(编译器)则是将源程序翻译成目标语言程序,然后在计算机上运行目标程序,两种语言处理程序的根本区别是在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,而在解释方式下,解释程序和源程序要参与到程序的运行过程中,运行程序的控制权在解释程序。
(4)高级语音编译程序扩展阅读:
注意事项:
高级语言完全脱离机器指令,用人们更加易于理解的方式编写程序,更接近于科学计算的公式及问题。
机器语言和汇编语言是一种面向机器的语言,而高级语言是面向科学计算和实际问题的语言。
当然高级语言编写的程序不能直接由计算机来执行,必须由翻译程序把它翻译为机器语言的程序,计算机才能执行。
‘伍’ 高级程序语言的编译程序属于什么软件
属于系统软件。
系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
(5)高级语音编译程序扩展阅读:
主要类别
系统软件在为应用软件提供上述基本功能的同时,也进行着对硬件的管理,使在一台计算机上同时或先后运行的不同应用软件有条不紊地合用硬件设备。
例如,两个应用软件都要向硬盘存入和修改数据,如果没有一个协调管理机构来为它们划定区域的话,必然形成互相破坏对方数据的局面。
‘陆’ 计算机程序中,用高级语言编写的程序经编译后产生的程序叫什么
高级语言编写的代码经过编译后就是可执行程序,高级语言到可执行文件主要有七个个过程。
高级语言编译的七个过程:
预处理,词法分析,语法分析,语义分析,中间代码产生,代码优化,目标代码产生。
下面对这几个过程详细讲解:
1、预处理:
对原文件进行预处理,比如头文件,导入的模块,宏定义等进行处理;
2、词法分析:
词法分析是第一阶段,这个阶段的任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。
3、语法分析:
语法分析的任务是在词法分析的基础上将单词程序分解成各位语法短语。
4、语义分析:
语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。
5、中间代码生成:
在进行了上述的语法分析阶段等工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。中间代码生成阶段要在语法和语义分析的基础上,将源程序进一步变为一种内部表示形式,它通常易于生成、易于翻译成目标代码,不过不是所有的语言都必须经过这一步。
6、代码优化:
这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效。代码优化阶段,对前阶段生成的中间代码进行变换或改造,以便生成目标代码时更加节省时间和空间,这一工作也不是必须的。
7、目标代码生成:
这一阶段的任务是吧中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。
‘柒’ 高级语言的编译过程,经过哪几个步骤
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(7)高级语音编译程序扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,对源代码文件进行测试。以及相关的头文件,比如Stdio。H.CPP预处理为。我的文件。预编译。该文件不包含任何宏定义,因为所有宏都已展开,且包含的文件已插入。我提起。
2、编译过程是对预处理后的文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程通常是整个程序的核心部分,也是最复杂的过程之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可运行的可执行程序。也就是说,您需要链接到大量文件以获得最终可执行文件“a.out”。
4、在链接过程中,其他目标文件中定义的函数调用指令需要重新调整,而其他目标文件中定义的变量也存在同样的问题。
‘捌’ 为什么高级程序语言需要编译程序
计算机语言是人与计算机之间交流的媒介,其种类非常多,但大体上分为机器语言、汇编语言、高级语言三大类。
计算机不能直接理解高级语言,只能直接理解机器语言,因此必须将高级语言翻译成机器语言,翻译的过程分为两种,一种是解释,一种是编译。两种方式的区别在于翻译的时间,编译是在程序运行之前,需要一个专门的过程,将程序编译成为机器语言的文件,比如EXE文件,以后要运行的话就不用再重新编译了,直接使用之前的编译结果就行了,因为只翻译一次,运行时不需要再翻译,所以编译型语言的程序执行效率高。
解释性语言则不同,解释性语言不需要编译,其程序在运行时才翻译,每个语句都是执行时才翻译。这样解释性语言每执行一次就要翻译一次,其执行效率则相对较低。
另外,编译型语言以二进制形式保存,源代码不可见;解释性语言以代码形式保存。