编译型语言是什么

通过高级语言编写的源码,我们能够轻松理解,但对于计算机来说,它只认识二进制指令,源码根本无法识别。源码要想执行,必须先转换成二进制指令。

所谓二进制指令,也就是由 0 和 1 组成的机器码,能被计算机直接识别并执行。

然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定:

  • 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(比如 Windows 下的 .exe 文件),比如C语言、C++、Golang、汇编语言等,它们都属于编译型语言,使用的转换工具称为编译器
  • 有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell 等,这类编程语言称为解释型语言,使用的转换工具称为解释器

简单地理解,编译器和解释器其实就是一个“翻译工具”,对源代码进行“翻译”是一个很复杂的过程,大致包括词法分析、语法分析、语义分析、性能优化、生成可执行文件等五个步骤。

总结:对于编译型语言来说,在执行之前先要经过编译器将源码转换成 CPU 可识别的机器码文件;解释型语言无需预先编译,而是由解释器逐行对源码进行解释,一边解释一边执行。

除编译型和解释型语言外,还有一种半编译半解释型语言,比如 Java 和 C# 等,这类语言将源代码先转换成一种中间文件(字节码文件),然后再将中间文件拿到虚拟机中执行。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《编译型语言是什么》
文章链接:https://zhuji.vsping.com/4009.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。