当前位置:首页 » 编程软件 » 高级语言使用相同的编译程序吗

高级语言使用相同的编译程序吗

发布时间: 2022-07-21 10:36:25

A. 程序通常是用高级语言编写源程序

1.计算机程序通常是用高级语言编写源程序,程序包含数据结构,算法存储方式 编译等,经过语言翻译程序(解释程序和编译程序)转换成机器接受的指令。
2.程序可按其设计目的的不同,分为两类:一类是系统程序,它是为了使用方便和充分发挥计算机系统效能而设计的程序,通常由计算机制造厂商或专业软件公司设计,如操作系统、编译程序等;
4.另一类是应用程序,它是为解决用户特定问题而设计的程序,通常由专业软件公司或用户自己设计,如账务处理程序、文字处理程序等。

B. 为什么说用高级语言写的程序,执行效率没有汇编高这些高级语言不都是要先编译成汇编语言吗

高级语言主要是给人看的,即使实现的目的完全相同,不同的程序员写出来的高级语言都很可能会看起来完全不同,因此编译器在把高级语言编译为机器码的过程中,就难免会产生很多的冗余代码,比如在汇编语言中从a点到b点能够一步到达的,在高级语言编译的代码中却有可能满世界乱转把整个字母表都走一遭后才到达b,尽管结果看起来是一样的,但效率就不可同日而语了。
当然了,像js之类的脚本语言也是高级语言啊,它们是解析执行的,效率当然更加没有汇编语言高了。

C. 为什么高级程序语言需要编译程序

计算机语言是人与计算机之间交流的媒介,其种类非常多,但大体上分为机器语言、汇编语言、高级语言三大类。

计算机不能直接理解高级语言,只能直接理解机器语言,因此必须将高级语言翻译成机器语言,翻译的过程分为两种,一种是解释,一种是编译。两种方式的区别在于翻译的时间,编译是在程序运行之前,需要一个专门的过程,将程序编译成为机器语言的文件,比如EXE文件,以后要运行的话就不用再重新编译了,直接使用之前的编译结果就行了,因为只翻译一次,运行时不需要再翻译,所以编译型语言的程序执行效率高。

解释性语言则不同,解释性语言不需要编译,其程序在运行时才翻译,每个语句都是执行时才翻译。这样解释性语言每执行一次就要翻译一次,其执行效率则相对较低。

另外,编译型语言以二进制形式保存,源代码不可见;解释性语言以代码形式保存。

D. 每一种高级语言都有它对应的编译程序这句话是不是对的

这句话是错的,并不是所有的高级程序设计语言都是编译执行的,有些高级程序设计语言就是解释执行的。
这里的关键是理解编译执行和解释执行的不同,编译执行是由编译程序编译链接之后,生成可执行文件,以后只要执行可执行文件就好了;而解释执行,是由解释器来执行代码的,每次执行都是解释执行代码的过程。解释执行的典型高级程序设计语言就是java,另外还有VB等脚本语言。

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

高级语言的两种执行方式

一、 解释方式

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

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

二、 编译方式

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

(5)高级语言使用相同的编译程序吗扩展阅读

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

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

F. 高级编程语言也要编译成汇编语言,不同的cpu汇编语言不一样,那会编译成那种汇编语言呢

高级语言一般最终不是编译成汇编语言而是机器语言,而像C#这类语言编译后为公共语言,不是机器码,运行时公共语言代码由NET框架负责进一步即时翻译即时执行为机器指令。只有C++这类语言编译后为CPU可以直接执行的机器码。


附图是VS2019中C++语言的一段调试时的反汇编窗口,其中白字是C++源代码,下面是对应的汇编码,汇编行左列为内存地址,中间是对应的机器指令和数据(内存中的实际值),右侧是对应的汇编码。

比如,定义整数变量a并赋值1的语句,被编译器编译成C7 45 F8 01 00 00 00 这样几个字节,其中C7为汇编码中的MOV指令,可以操作16位寄存器和内存以及立即数,45 F8 是当前命名空间中变量地址,即变量a的地址(F845),而01 00 00 00 为32位宽度的数值1(内存排列顺序是前低后高)。也就是说机器语言的指令格式为:指令代码,地址,数据,当然根据不同指令,有时候地址和数据是不需要的。而右侧 MOV dword ptr[a],1 是指令助记符,也就是汇编指令,而用汇编指令编写的程序也是需要编译成机器指令的。


指令C7对应的汇编码及含义

G. 用于高级语言的编译程序有哪两种

用于高级语言的编译程序有两种:编译程序和链接程序。
以C语言为例,编译器是cc,可能链接程序就是link。
二者作用是不同的,编译器是把源程序翻译成符号语言,链接程序把来自不同源文件的多个程序整合起来,形成最终的可执行程序。
C++的编译系统沿用了C语言。其他语种,如PASCAL,DELPHI,C#,OBJECT-C,本质上没发生变化
高级语言本身分成两类,编译型和解释性的,编译型的就是上面的类型,解释型的,如BASIC,JAVA,
PHP,
PYTHON等,是不需要编译的,可以直接根据源代码(或中间代码)直接翻译到操作系统上。

H. 高级语言的编译过程,经过哪几个步骤

开发C程序有四个步骤:编辑、编译、连接和运行。

任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。

1、预处理:导入源程序并保存(C文件)。

2、编译:将源程序转换为目标文件(Obj文件)。

3、链接:将目标文件生成为可执行文件(EXE文件)。

4、运行:执行,获取运行结果的EXE文件。

(8)高级语言使用相同的编译程序吗扩展阅读:

将C语言代码分为程序的几个阶段:

1、首先,对源代码文件进行测试。以及相关的头文件,比如Stdio。H.CPP预处理为。我的文件。预编译。该文件不包含任何宏定义,因为所有宏都已展开,且包含的文件已插入。我提起。

2、编译过程是对预处理后的文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程通常是整个程序的核心部分,也是最复杂的过程之一。

3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可运行的可执行程序。也就是说,您需要链接到大量文件以获得最终可执行文件“a.out”。

4、在链接过程中,其他目标文件中定义的函数调用指令需要重新调整,而其他目标文件中定义的变量也存在同样的问题。

I. 使用高级语言编写的程序称为

高级语言(High-levelprogramming language)相对于机器语言(machine language,是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据)而言。是高度封装了的编程语言,与低级语言相对。它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。由于早期电脑业的发展主要在美国,因此一般的高级语言都是以英语为蓝本。在1980年代,当东亚地区开始使用电脑时,在日本、台湾及中国大陆都曾尝试开发用各自地方语言编写的高级语言,当中主要都是改编BASIC或专用于数据库数据访问的语言,但是随着编程者的外语能力提升,现时的有关开发很少。
计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。编写的程序称之为源程序。

高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,易语言,中文版的C语言习语言等等,这些语言的语法、命令格式都不相同。

高级语言
低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。

高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。

高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。

J. 不同语言的程序编译之后一样吗

肯定不是一模一样的
但是运行的结果是一样的
只要你的高级语言的算法和实现细节是一样的
能反编译,但只能到汇编语言,不可能到高级语言
因为机器码和汇编是一一对应的
但是,不同的高级语言有可能对应相同的低级语言
所以不能翻译成高级语言
所谓的0

1
其实是有电流,无电流的意思
因为电子计算机实际上是一个复杂的电路

热点内容
局域网存储安装 发布:2025-02-06 23:42:50 浏览:926
androidbug 发布:2025-02-06 23:31:56 浏览:50
php数字判断 发布:2025-02-06 23:17:40 浏览:40
优路教育服务器连接不上怎么回事 发布:2025-02-06 23:03:49 浏览:141
数据库加速 发布:2025-02-06 23:02:14 浏览:565
苹果ipodpro如何连接安卓手机 发布:2025-02-06 23:00:56 浏览:529
android格式化sd卡 发布:2025-02-06 23:00:50 浏览:982
郝斌数据库 发布:2025-02-06 22:44:57 浏览:182
全息存储器 发布:2025-02-06 22:43:51 浏览:117
游戏源码如何使用 发布:2025-02-06 22:43:40 浏览:716