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

用于高级语言的编译程序有哪两种?,第1张

用于高级语言的编译程序有两种:编译程序和链接程序。

以C语言为例,编译器是cc,可能链接程序就是link。

二者作用是不同的,编译器是把源程序翻译成符号语言,链接程序把来自不同源文件的多个程序整合起来,形成最终的可执行程序。

C++的编译系统沿用了C语言。其他语种,如PASCAL,DELPHI,C#,OBJECT-C,本质上没发生变化

高级语言本身分成两类,编译型和解释性的,编译型的就是上面的类型,解释型的,如BASIC,JAVA,

PHP,

PYTHON等,是不需要编译的,可以直接根据源代码(或中间代码)直接翻译到 *** 作系统上。

这是一个编程基础的问题。

目前编程语言主要有两种类型,一种是编译型语言,一种是解释型语言。二者的区别在于:编译型语言需要编译、链接生成可执行文件之后才能运行,解释型语言直接就可以运行。C语言是一种编译型语言。

对于计算机来说,只能运行二进制的机器指令。为了方便编写指令给计算机,通过简单的替换之后有了汇编语言。但是汇编语言相对来说还是相当复杂,编写软件时工作量巨大。所以就有了如C语言,C++,JAVA之类的高级语言。

这些语言其实是对汇编做了抽象封装。编译这个动作就是将C语言翻译成了汇编。C语言经过编译这个动作后每个.C文件都会生成一个OBJ,链接这个动作是将多个OBJ链接到同一个可执行文件中,最后生成的是EXE文件。

C 语言程序仅可以解释执行。

解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。

相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的 *** 作系统上运行。

缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样 *** 作系统底层 *** 作的目的。

解释型语言常用于,一是对运行速度要求不高(如一些网页脚本等)的场合,二是对跨平台( *** 作系统的兼容性)有要求的场合。

扩展资料

1、Python和Java语言,专门有一个解释器能够直接执行Python程序,每个语句都是执行的时候才翻译。

2、 Python代码在运行前,会先编译成中间代码,每个 .py 文件将被换转成pyc 文件,pyc 就是一种字节码文件,它是与平台无关的中间代码。不管放在 Windows 还是 Linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。

参考资料来源:百度百科-解释执行


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11325766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存