湛江有学习编译型语言和解释型语言的区别吗?_湛江哪里有编程语言学习
作者:广州电脑培训甘发布时间:2020-11-23分类:湛江电脑学校浏览:454
编译型语言
对于编译型语言,开发完成以后需要将所有的源代码都转换成可执行程序,比如 Windows 下的.exe文件,可执行程序里面包含的就是机器码。只要我们拥有可执行程序,就可以随时运行,不用再重新编译了,也就是“一次编译,无限次运行”。
在运行的时候,我们只需要编译生成的可执行程序,不再需要源代码和编译器了,所以说编译型语言可以脱离开发环境运行。编译型语言一般是不能跨平台的,也就是不能在不同的操作系统之间随意切换。
编译型语言不能跨平台表现在两个方面:
1) 可执行程序不能跨平台
可执行程序不能跨平台很容易理解,因为不同操作系统对可执行文件的内部结构有着截然不同的要求,彼此之间也不能兼容。不能跨平台是天经地义,能跨平台反而才是奇葩。
另外,相同操作系统的不同版本之间也不一定兼容,比如不能将 x64 程序(Windows 64 位程序)拿到 x86 平台(Windows 32 位平台)下运行。但是反之一般可行,因为 64 位 Windows 对 32 位程序作了很好的兼容性处理。
2) 源代码不能跨平台
不同平台支持的函数、类型、变量等都可能不同,基于某个平台编写的源代码一般不能拿到另一个平台下编译。我们以C语言为例来说明。让人苦恼的,这样的错误一般不容易察觉,因为编译器不会报错,我们也记不住不同类型的取值范围。
解释型语言
对于解释型语言,每次执行程序都需要一边转换一边执行,用到哪些源代码就将哪些源代码转换成机器码,用不到的不进行任何处理。每次执行程序时可能使用不同的功能,这个时候需要转换的源代码也不一样。
因为每次执行程序都需要重新转换源代码,所以解释型语言的执行效率天生就低于编译型语言,甚至存在数量级的差距。计算机的一些底层功能,或者关键算法,一般都使用 C/C++ 实现,只有在应用层面(比如网站开发、批处理、小工具等)才会使用解释型语言。
在运行解释型语言的时候,我们始终都需要源代码和解释器,所以说它无法脱离开发环境。
当我们说“下载一个程序(软件)”时,不同类型的语言有不同的含义:
对于编译型语言,我们下载到的是可执行文件,源代码被作者保留,所以编译型语言的程序一般是闭源的。
对于解释型语言,我们下载到的是所有的源代码,因为作者不给源代码就没法运行,所以解释型语言的程序一般是开源的。
相比于编译型语言,解释型语言几乎都能跨平台,“一次编写,到处运行”是真是存在的,而且比比皆是。那么,为什么解释型语言就能快平台呢?这一切都要归功于解释器!
我们所说的跨平台,是指源代码跨平台,而不是解释器跨平台。解释器用来将源代码转换成机器码,它就是一个可执行程序,是绝对不能跨平台的。官方需要针对不同的平台开发不同的解释器,这些解释器必须要能够遵守同样的语法,识别同样的函数,完成同样的功能,只有这样,同样的代码在不同平台的执行结果才是相同的。你看,解释型语言之所以能够跨平台,是因为有了解释器这个中间层。在不同的平台下,解释器会将相同的源代码转换成不同的机器码,解释器帮助我们屏蔽了不同平台之间的差异。
- 湛江电脑学校排行
- 最近发表
-
- 东莞信息:东莞市技能大师工作室政策宣讲交流活动|||北大青鸟计算机培训中心
- 东莞信息:(虎门)职业指导“入校园”,2024年虎门镇职业指导下基层活动顺利开展|||电脑计算机编程培训学校
- 东莞信息:(虎门)政策宣讲互动交流,虎门镇技能人才培养政策宣讲交流会顺利举办|||中专学计算机平面设计女生可以学计算机网络技术好吗
- 东莞信息:(茶山)校企交流合作赋能“百千万工程”|||计算机培训学校招生
- 东莞信息:东坑人社分局开展2024年工伤预防宣传活动|||北大青鸟计算机培训中心
- 揭阳信息:“政行企校”合作育人助力“百千万工程”|||计算机职业技能培训班
- 江门信息:2024年江门市技工院校招生公告|||计算机培训学校招生
- 梅州信息:梅州市设立“妈妈岗”用人单位名录|||广州学电脑培训学校
- 佛山信息:《2024年广东省高校毕业生就业创业十大行动方案》|||电脑计算机编程培训学校
- 东莞信息:(谢岗)校企精准对接·才聚山水谢岗2024年东莞市(第十五届)校企洽谈会谢岗分会场活动圆满举办|||大学生计算机培训学校
- 标签列表
-