编译型语言与解释型语言有何本质差异?

2026-06-11 04:270阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2696个文字,预计阅读时间需要11分钟。

编译型语言与解释型语言有何本质差异?

我们编写的源代码是人类语言,易于理解;但对于计算机硬件(CPU)来说,源代码是天书,基本无法执行。计算机只能识别特定的二进制指令,在程序真正运行前必须翻译成机器码。

编译型语言与解释型语言有何本质差异?

我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。

所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机)只能使用几十个指令,强大的硬件(PC 和智能手机)能使用成百上千个指令。

然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定:
  • 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Golang、Pascal(Delphi)、汇编等,这种编程语言称为编译型语言,使用的转换工具称为编译器。
  • 有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言,使用的转换工具称为解释器。

简单理解,编译器就是一个“翻译工具”,类似于将中文翻译成英文、将英文翻译成俄文。
阅读全文

本文共计2696个文字,预计阅读时间需要11分钟。

编译型语言与解释型语言有何本质差异?

我们编写的源代码是人类语言,易于理解;但对于计算机硬件(CPU)来说,源代码是天书,基本无法执行。计算机只能识别特定的二进制指令,在程序真正运行前必须翻译成机器码。

编译型语言与解释型语言有何本质差异?

我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。

所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机)只能使用几十个指令,强大的硬件(PC 和智能手机)能使用成百上千个指令。

然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定:
  • 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Golang、Pascal(Delphi)、汇编等,这种编程语言称为编译型语言,使用的转换工具称为编译器。
  • 有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言,使用的转换工具称为解释器。

简单理解,编译器就是一个“翻译工具”,类似于将中文翻译成英文、将英文翻译成俄文。
阅读全文