当前位置:首页 » 编程软件 » 编译执行是转化为高级语言吗

编译执行是转化为高级语言吗

发布时间: 2022-04-20 01:23:05

❶ 高级语言按照计算机执行方式不同可以分为哪两类它们的执行方式有什么不同,请进行概要说明。

计算机高级语言按程序的执行方式可分为:编译型和解释型。
编译型的语言之使用专门的编译器、针对特定平台将某种高级语言源代码一次性“翻译”成课被该平台硬件执行的机器吗(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式,这个转换过程成为编译(Compile)。编译生成的可执行性程序可以脱离开发环境,在特定的平台上独立运行。有些程序编译结束后,还可能需要对其他编译好的目标代码进行链接,级组装两个以上的目标代码模块生成最终的可执行性程序,通过这种方式实现低层次的代码复用。因为编译性欲眼十一磁性的编译成机器码,所以可以脱离开发环境独立运行,且通常运行效率较高;但要移植,则必须将源码复制到特定平台上,针对特定平台进行修改,至少重新编译。
解释型语言是指使用专门的解释其队员城西逐行解释成特定平台的机器吗并立即执行的语言,解释型语言通常不会进行整体性的编译和链接处理,解释型语言相当与把编译型语言中的编译和解释过程混合到了一起同时完成。可以认为:每次执行解释型语言的程序都需要进行一次编译,因此解释型语言的程序运行效率通常较低,而且不能脱离解释其独立运行。其优势在于跨平台容易,只需提供特定平台的解释其即可。
除此外还有一种伪编译型语言。如Visual Basic,可以成成可执行性的EXE文件,实际上这个文件中,既有程序的启动代码,也有链接解释程序的代码,而这部分代码负责启动Vsuial Basic 解释程序,再对Vsuial Basic代码进行解释并执行。

❷ 高级语言程序的两种执行方式是什么

高级语言的两种执行方式

一、 解释方式

所谓解释方式就是从源程序的第一条语句开始,对每条语句都先解释,然后马上执行刚解释出的这些指令,再对下一条语句做同样的处理,直到所有语句都处理完。

解释方式有一个特点,就是翻译出来的计算机指令并不会存盘(不会生成目标代码)。执行完这些二进制指令就丢失了。因此,解释型语言没执行一次都要重新翻译并执行。

二、 编译方式

所谓编译方式,首先通过编译程序把整个源程序中的所有语句翻译为汇编语言源程序,然后再通过汇编程序把汇编语言源程序翻译为机器语言的机器指令,形成.exe文件(可执行文件),.exe文件是可以直接运行的文件。

(2)编译执行是转化为高级语言吗扩展阅读

1、C、C++、Java、Python等高级语言就是为了克服汇编语言的可移植性差,摆脱硬件底层的设计,用人的思维来编写程序而设计的。高级语言表达方式接近人类的语言,描述问题的能力强,通用性,可读性都很高。

2、所有的计算机语言,要想在计算机上运行都需要转变为机器语言(只有0和1组成的)才能被执行。高级语言通过编译程序(编译器)翻译成机器语言,汇编语言通过汇编程序(汇编器)翻译为机器语言。

❸ 高级语言中的解释方式和编译方式的区别

两者的区别如下:
解释方式:程序运行时,取一条指令,将其转化为机器指令,再执行这条机器指令。这种方式每次运行程序时都要重新翻译整个程序,效率较低,执行速度慢,如QB,不过现在很少再用这种低效的方式的设计语言了。
编译方式:程序运行时之前,将程序的所有代码编译为机器代码,再运行这个程序。然后每次执行的时候就可以直接执行这个翻译好的二进制文件了,这样的程序只需要翻译一次,效率明显要高很多,现在的大多数语言都是这种方式,网页中的asp.net 采用的也是这种方式。

❹ 编译程序就是将高级语言翻译成机器语言

很显然不是的.编译程序实际上分为分析器,编译器,连接器等.分析器里面又分为词法分析和语法分析.词法分析就是将源程序里的关键字,变量等等的东西解析出来,通俗点说就是把一个英语句子中的单词分析出来.而语法解析则是从语法的角度来看看源程序是否存在语法错误.真正将高级语言变为一系列0和1的东西是连接器,将N多的obj文件编译为可以执行的exe.当然在这之前还要有编译程序来编译目标文件.现在的开发工具如VC,VB实际上是分析器+编译器+连接器+调试工具的集合.另外,如果你的程序要进行系统调用的话,比如socket程序的通讯.那么需要和操作系统的资源打交道.实际上所有的IO操作,内存读写等等都要进行系统调用.哪怕是一个简单的hello world!

❺ 编译器为什么能编译高级语言

语言是人定义的,举个简单的例子 你创造个编译器定义语句 “我实现A+B”,在编译器里面你事先定义了这个句子等价于C语言的 int C=A + B;再由C语言通过类似的方法转换成汇编语言,这样就把高级语言一步步处理成计算机能执行的每步。打个比方。一栋房子很高,顶楼就是高级语言,楼梯就是编译器,底层就是计算机能识别的操作。比如JAVA就是用C写的,其楼层比C高。一般来说,同等算法条件下C语言执行更快。关于楼梯的原理(编译器),你想了解的话你的看编译原理相关书籍,上面涉及很多数学知识,包括很多状态转化,词法分析,语义分析。比如int C=A+B中如何识别INT是什么东西。“=”的意义等问题。说实话,如果你不是计算机专业,理解这个有困难的。对于一般人来说,不用从事相关工作的话,知道大概这个是干嘛的就行了。比如你盖个房子,你需要扳手,难道你要先学采铁矿学冶炼学制作扳手的方法?。。

❻ 是不是任何高级语言的执行都会先转变成汇编语言,然后再由汇编语言转换成机器语言执行

不是主要看编译器是如何设计 的 有的编译器直接编译成机器语言
有的编译器直接编译成汇编语言 在汇编成机器语言

❼ 为什么高级语言中存在编译和解释两种编译方式

  1. 编译方式:事先编好的一个叫做编译程序的机器语言程序放在计算机中。当高级语言编的源程序输入计算机时,编译程序就把源程序自动整个地翻译成用机器指令表示的目标程序。

  2. 解释方式:事先编好的一个叫做解释程序的机器语言程序放在计算机中,当高级语言源程序输入计算机后,解释程序自动地逐句翻译源程序,译一句执行一句。

  3. 因此往往需要特定的平台,由于程序执行的是编译好的二进制文件,这种编译一旦完成,那么就只能在特定平台上运行了:编译是指将源语言转化为目标计算机的可执行二进制代码两者互有优劣,因此速度比较快(相对下面的解释)。

  4. 解释方式:事先编好的一个叫做解释程序的机器语言程序放在计算机中,当高级语言源程序输入计算机后,解释程序自动地逐句翻译源程序,译一句执行一句。 可以这么理解,编译的结果是另外一种语言,而解释的就是一种中间语言。

❽ 编译程序能直接执行高级语言源程序吗

A、解释程序

所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。

B:编译程序

这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。

编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。

值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。

在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如BASIC,这样可以大大缩短编程及调试的时

❾ 编译程序也是高级语言

能被执行的程序肯定是已经编译成机器字节码的程序。比如常见的C++编译器
C++的编译器虽然自己也是以C/C++高级语言编写,但被你用到的时候都已经编译成“执行档”binary。你只用执行档。执行档是操作系统作为运行环境的,由操作系统运行。

想Java或.net之类的平台,高级语言被编译成字节码的执行档,运行环境不是操作系统而是虚拟机。由虚拟机运行。

这个过程更明显地体现在Free BASIC语言的发展过程。FB第一版是C语言写的编译的,然后从第二版开始都以BASIC语言编写,自己FB编译自己FB。这种叫自主编译self-hosting.

编译翻译的过程就是一个查词典的过程
比如
高级语言的+号,翻译成add指令,写入字节码05 XX
这和把换行\n翻译成html的<br/>是类似的不同语言间的翻译过程。

热点内容
附件简历上传失败 发布:2025-03-28 20:57:07 浏览:501
怎么查看所有配置 发布:2025-03-28 20:57:05 浏览:863
引领少儿编程 发布:2025-03-28 20:51:43 浏览:201
人脸识别编程 发布:2025-03-28 20:39:23 浏览:673
php自己的mvc 发布:2025-03-28 20:36:41 浏览:290
padavan编译 发布:2025-03-28 20:35:54 浏览:763
iphone如何设置直接输入密码登录 发布:2025-03-28 20:35:51 浏览:67
怎么把音乐导入安卓手机 发布:2025-03-28 20:35:01 浏览:617
coding源码 发布:2025-03-28 20:34:58 浏览:736
解压卡96 发布:2025-03-28 20:34:04 浏览:869