编译
编译是将使用特定编程语言编写的计算机程序转换为一组其他格式的指令或其他语言的过程。编译器是执行该任务的计算机程序。
通常,编译器会将使用高级语言(如 C++、Rust 或 Java)编写的代码转换为可执行的(可运行的)代码——即所谓的二进制码或机器码。WebAssembly 就是一种可执行的二进制代码形式,可以从使用 C++、Rust、C#、Go、Swift 等多种语言编写的代码进行编译,可以在现代浏览器中的任何网页上运行,并且大部分的功能都得到支持(详见浏览器兼容性表)。
大多数编译器执行的是预先编译(AOT)或即时编译(JIT)之一。
GNU gcc
编译器是 AOT 编译器的一个最常见的案例。AOT 编译器通常在命令行中通过 shell 环境(从终端或控制台内部)或在 IDE 中调用。
JIT 编译器通常不会直接调用,而是内部构建到软件运行时中,以提高性能。例如,所有主要浏览器现在都使用具有内置 JIT 编译器的 JavaScript 引擎。
编译器还可以在高级语言之间进行转换——例如,从 TypeScript 到 JavaScript——在这种情况下,它们通常被称为转换器。
参见
- 维基百科上的编译器
- WebAssembly