精华内容
下载资源
问答
  • 如果这个过程理解英语翻译:编译语言(先翻译再执行);解释型语言(一边解释一边翻译)。 编译语言为客户提供服务只需要提供可执行文件,不需要提供源代码,保证了源代码的安全性;而解释型语言运行时需要...

    高级语言都需要先转变为机器语言再在电脑上执行。

    高级语言分为两种:编译型语言:c/c++;

                                    解释型语言:python、java。

    ç®è¿°è§£éååç¼è¯åç¼ç¨è¯­è¨

    区别:

    • 编译型语言先将源代码转换成可执行文件后,就可以执行了;编译型语言是一边进行转换一边进行执行。如果将这个过程理解为英语翻译:编译型语言(先翻译再执行);解释型语言(一边解释一边翻译)。
    • 编译型语言为客户提供服务只需要提供可执行文件,不需要提供源代码,保证了源代码的安全性;而解释型语言运行时需要源代码,安全性比较低。
    • 编译型语言不可以跨平台,在不同平台需要不同的版本;解释型语言可以跨平台,一个版本就可以再不同的平台上运行。
    展开全文
  • 将高级语言编写的源程序转换为目标程序的是什么? A)链接程序 B)解释程序 C)编译程序 D)编辑程序 答案:D   把源程序转换为目标程序的过程编译。所以能将高级语言编写的源程序转换为目标程序的是相应的...

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

    A)链接程序

    B)解释程序

    C)编译程序

    D)编辑程序

    答案:D

     

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

    拓展资料:

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

    展开全文
  • C语言编译过程 编译的概念 编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可...

    C语言编译全过程 编译的概念 编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程 C源程序--预

    C语言编译全过程

    编译的概念

    编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程

    C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)

    b690fce175a78dd234e01a7611326bde.png 1. 编译预处理

    读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理

    伪指令主要包括以下四个方面:

    (1)宏定义指令,如#define Name TokenString,#undef等。

    对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换,但作为字符串常量的 Name则不被替换。对于后者,则将取消对某个宏的定义,使以后该串的出现不再被替换。

    (2)条件编译指令,如#ifdef,#ifndef,#else,#elif,#endif等。

    这些伪指令的引入使得程序员可以通过定义不同的宏来决定编译程序对哪些代码进行处理。预编译程序将根据有关的文件,将那些不必要的代码过滤掉

    (3) 头文件包含指令,如#include "FileName"或者#include 等。

    在头文件中一般用伪指令#define定义了大量的宏(最常见的是字符常量),同时包含有各种外部符号的声明。

    采用头文件的目的主要是为了使某些定义可以供多个不同的C源程序使用。因为在需要用到这些定义的C源程序中,只需加上一条#include语句即可,而不必再在此文件中将这些定义重复一遍。预编译程序将把头文件中的定义统统都加入到它所产生的输出文件中,以供编译程序对之进行处理。

    包含到c源程序中的头文件可以是系统提供的,这些头文件一般被放在/usr/include目录下。在程序中#include它们要使用尖括号(< >)。另外开发人员也可以定义自己的头文件,这些文件一般与c源程序放在同一目录下,此时在#include中要用双引号("")。

    (4)特殊符号,预编译程序可以识别一些特殊的符号。

    例如在源程序中出现的LINE标识将被解释为当前行号(十进制数),FILE则被解释为当前被编译的C源程序的名称。预编译程序对于在源程序中出现的这些串将用合适的值进行替换。

    预编译程序所完成的基本上是对源程序的“替代”工作。经过此种替代,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。这个文件的含义同没有经过预处理的源文件是相同的,但内容有所不同。下一步,此输出文件将作为编译程序的输出而被翻译成为机器指令。 2. 编译、优化阶段

    经过预编译得到的输出文件中,只有常量;如数字、字符串、变量的定义,以及C语言的关键字,如main,if,else,for,while,{,}, +,-,*,\等等。

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

    优化处理是编译系统中一项比较艰深的技术。它涉及到的问题不仅同编译技术本身有关,而且同机器的硬件环境也有很大的关系。优化一部分是对中间代码的优化。这种优化不依赖于具体的计算机。另一种优化则主要针对目标代码的生成而进行的。

    对于前一种优化,主要的工作是删除公共表达式、循环优化(代码外提、强度削弱、变换循环控制条件、已知量的合并等)、复写传播,以及无用赋值的删除,等等。

    后一种类型的优化同机器的硬件结构密切相关,最主要的是考虑是如何充分利用机器的各个硬件寄存器存放的有关变量的值,以减少对于内存的访问次数。另外,如何根据机器硬件执行指令的特点(如流水线、RISC、CISC、VLIW等)而对指令进行一些调整使目标代码比较短,执行的效率比较高,也是一个重要的研究课题。

    经过优化得到的汇编代码必须经过汇编程序的汇编转换成相应的机器指令,方可能被机器执行。   3. 汇编过程

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

    目标文件由段组成。通常一个目标文件中至少有两个段:

    代码段:该段中所包含的主要是程序的指令。该段一般是可读和可执行的,但一般却不可写。

    数据段:主要存放程序中要用到的各种全局变量或静态的数据。一般数据段都是可读,可写,可执行的。

    UNIX环境下主要有三种类型的目标文件:

    (1)可重定位文件

    其中包含有适合于其它目标文件链接来创建一个可执行的或者共享的目标文件的代码和数据。

    (2)共享的目标文件

    这种文件存放了适合于在两种上下文里链接的代码和数据。

    第一种是链接程序可把它与其它可重定位文件及共享的目标文件一起处理来创建另一个 目标文件;

    第二种是动态链接程序将它与另一个可执行文件及其它的共享目标文件结合到一起,创建一个进程映象。

    (3)可执行文件

    它包含了一个可以被操作系统创建一个进程来执行之的文件。

    汇编程序生成的实际上是第一种类型的目标文件。对于后两种还需要其他的一些处理方能得到,这个就是链接程序的工作了。 4. 链接程序

    由汇编程序生成的目标文件并不能立即就被执行,其中可能还有许多没有解决

    的问题。

    例如,某个源文件中的函数可能引用了另一个源文件中定义的某个符号(如变量或者函数调用等);在程序中可能调用了某个库文件中的函数,等等。所有的这些问题,都需要经链接程序的处理方能得以解决。

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

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

    展开全文
  • 在解释高级语言编译型和解释型语言的编译执行过程的区别前,我们要先明白如下概念:1、机器语言 :0、1的二进制数组成的序列,计算机可直接执行; 2、汇编语言:机器指令的助记符,需翻译机器语言执行; 3、...

            在解释高级语言的编译型和解释型语言的编译执行过程的区别前,我们要先明白如下概念:1、机器语言 :0、1的二进制数组成的序列,计算机可直接执行;

    2、汇编语言:机器指令的助记符,需翻译为机器语言执行;

    3、高级程序设计语言:类似自然语言,易理解,需翻译为机器语言执行,包括解释型语言和编译型语言。

    我们编写的源代码(高级程序设计语言)是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令(机器语言),在程序真正运行之前必须将源代码转换成二进制指令。

    简单来说,我们要想计算机执行指令,必须将机器语言翻译为高级程序设计语言。而在执行翻译的过程中,产生了两种语言。

    1、编译型语言:

                                              

    可以看到,编译型语言的特点是先编译,后执行。需要通过“编译器”(Compiler)完成编译过程,结果交由CPU执行,这也导致了其依赖于平台的特点。

    对于解释型语言:

                      

    其特点是边编译,边执行,通过 “解释器”(Interpreter)完成解释执行的过程。而呈现结果的过程并不需要依赖平台。

    编译型语言和解释型语言都需要一个“中介”来将高级语言翻译为计算机可以明白的机器语言,不同的是编译型语言使用“编译器”,而解释型语言使用“解释器”。

     

     

     

    展开全文
  • 正确答案: A编译和解释题目:将高级语言编写的程序翻译成机器语言程序,采用的两种翻译方式是解析:编译和解释是将高级语言编写的程序翻译成机器语言程序的两种方式。举一反三的答案和解析:[单选题]计算机软件系统...
  • 高级语言为什么不直接编译成机器码,而编译成汇编代码?
  • 机器语言:    计算机的硬件作为一种电路元件,它的输出和输入只能是有电或者没电,也就是所说的高电平和低电平,所以计算机传递的数据是由“0” 和“1”组成的二进制数,其实就是控制计算机硬件...
  • 什么编译语言和解释型语言

    万次阅读 多人点赞 2018-08-01 21:42:16
    计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须转换成计算机语言,也就是机器码。 计算机是不能理解高级语言的,更...
  • (1)、计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须转换成计算机语言,也就是机器码。而这种转换的方式有两种: ...
  • 高级语言编写的程序转换为计算机能直接执行的目标程序,必须经过编译,此题选B。扩展资料:编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序...
  • 解释程序: 高级语言翻译程序的一种,它源语言书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻译依据,不产生全文的翻译文本(翻译文本指的是...
  • 计算机执行用高级语言编写的程序主要有两种途径解释和编译编译专.doc计算机执行用高级语言编写的程序主要有两种途径:解释和编译 编译:专指由高级语言转换为低级语言编译和解释的区别: 是否产生目标程序 编译程序...
  • 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须转换成计算机语言,也就是机器码。 1.编译 2.解释 由此高级语言也分为...
  • 把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序。它分为: 诊断编译程序(用于程序开发和诊断) 优化编译程序(用于提高目标代码效率) 交叉编译程序(用于产生不同于宿主机...
  • 高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。 但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。 计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对...
  • 预处理:在高级语言源程序中插入所有用#include命令指定的文件和用#define声明指定的宏。 编译预处理后的源程序文件编译生成相应的汇编语言程序。 汇编:由汇编程序汇编语言源程序文件转换为可重定位的机器...
  • 第6章 由机器语言到咼级语言程序编写与编译 1关于计算机语言下列说法不正确的是 所有源程序最后都需被转换为汇编语言程序机器才能够执行 所谓高级语言和低级语言是指其和机器硬件的相关程度不涉及机器硬件的语 言...
  •  编译过程源代码(高级语言,人类容易读,容易理解),转换为机器码(cpu能理解,能高效的执行)的过程. 解释型语言:JavaScript python 等  直接解释源代码,并且直接执行,没有编译过程 编译程序是整体编译完了,再...
  • 距离上一篇文章已经有一个月的时间了 我居然花了一个月的时间来研究计算机导论这个课题!!! ...但是身有一名程序猿,你真的知道什么叫 “ 程序 ” 、“ 代码 ” 和 “ 编译 ” 吗? 你能用...
  • Python 是一门解释型的编程语言,因此它具有解释型语言的运行机制。计算机程序,其实就是一组计算机指令的集合,能...高级语言按照程序的执行方式,可以分为编译型和解释型两种。编译型语言编译型语言是指使用专门的...
  • 5. 高级语言机器编译

    2018-08-10 17:03:22
    1.高级语言一般有哪些基本构成要素? 常量、变量(存储单元)、保留字、表达式(算术、逻辑、比较)、结构(顺序、分支、循环)  常量:整数、实数、字符、布尔。  变量:对存储数据地址的命名。   2.什么是...
  • C 语言编译过程总结详解 ...编译是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,源文件的编译过程包含两 1 个主要阶段:第一个阶段
  • 编译就是把源代码(高级语言,人类容易读,容易理解)转换成机器码(CPU能理解,能高效的执行) 解释型语言:JavaScript、Perl、Python、Ruby 解释就简单多了,解析源代码,并且直接执行,没有编译过程 编译程序...
  • 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须转换成计算机语言,也就是机器码。转换方式有两种:编译、解释。由此...
  • 第6章 由机器语言到高级语言程序编写与编译 1关于计算机语言下列说法不正确的是_ (A)所有源程序最后都需被转换为汇编语言程序机器才能够执行 (B)所谓高级语言和低级语言是指其和机器硬件的相关程度不涉及机器硬件的...
  • 这几天看到ROSE编译器 可以实现源到源的多种高级程序语言之间的转换 source-to-source transformation ...以前知道高级语言之间的转换是通过交叉编译器 但是这种源到语法再到源的方式岂不是更简单直接
  • 作为一门高级语言,javascript肯定不能是在电脑上直接运行的,肯定有javascript这门高级语言的编译/解释程序,编译/解释程序负责将高级语言转换为对应平台的目标代码,从而让高级语言可以在这个平台上运行 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,971
精华内容 47,588
关键字:

编译是将高级语言转换为什么的过程