请问“源程序的编译”与“源程序的解释”的基本概念是什么?

请问“源程序的编译”与“源程序的解释”的基本概念是什么?,第1张

一般针对处于机器语言之上的高级语言编写的程序而言,用高级语言编写的计算机程序代码称作源程序,将源程序代码编译成机器可以执行的二进制机器代码,是机器可以理解和执行,就是对源程序的编译。

源程序的解释,对于某些解释型计算机语言而言,解释的过程中,并不是直接编码成二进制机器码,中间需要借助虚拟机的机制。

编译程序和解释程序的区别是:

1、编译是将源程序翻译成可执行的目标代码;解释程序不产生目标代码。

2、解释程序可跨平台使用;编译程序跨平台性不好。

3、解释程序可以随时修改,立刻生效;编译程序不行。

4、解释程序运行效率低;编译程序执行速度快。

编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。

解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。

同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。

而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。

源程序是指程序员编写的代码,可以被编译程序编译为目标程序。

如果是C++,那么后缀为.cpp

目标程序是编译程序将源程序编译后的结果,如果是C++,那么后缀是.o

编译程序一般是编译器公司(比如微软

Intel他们都生产编译器)做的,它将源代码转化为机器可识别的文件,经过链接,生成可执行程序。

解释程序即解释器,它不需要经过编译阶段即可根据用户源程序执行。

程序语言分编译类和解释类语言。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存