主流编译器
主流编译器大体可分为几大阵营:C/C++/Fortran 系列(传统高性能领域)、托管运行时系列(Java、.NET)、新兴语言系列(Go、Rust、Swift 等)以及一些专用或商业闭源产品。下面按类别罗列当前最流行、被大量生产环境或科研/工业界采用的编译器。
一、C/C++/Fortran 及系统语言编译器
编译器 |
开源/闭源 |
主要语言 |
备注 |
GCC (GNU Compiler Collection) |
开源 |
C, C++, Fortran, Ada, Go, D, … |
经典老牌,跨平台最广、生态最强 |
Clang/LLVM |
开源 |
C, C++, Objective-C, Rust (via rustc),… |
模块化设计、错误提示友好,Apple、Android、Chromium 均用 |
Intel oneAPI DPC++/C++ Compiler (icc/icx) |
闭源/部分开源 |
C, C++, Fortran |
面向 Intel CPU/GPU 优化;学术免费 |
Microsoft MSVC (Visual C++) |
闭源 |
C, C++ |
Windows 平台主流;集成到 Visual Studio |
IBM XL C/C++ & Fortran |
闭源 |
C, C++, Fortran |
大型机、高可靠性场景(Power 系)常用 |
Oracle Developer Studio |
闭源 |
C, C++, Fortran |
Solaris/Oracle SPARC 平台优化 |
ARM Compilers (armclang, armcc) |
闭源/部分开源 |
C, C++ |
嵌入式及移动 SoC(Cortex-A/M/R)高度优化 |
NVIDIA HPC SDK (formerly PGI) |
闭源 |
C, C++, Fortran, CUDA |
面向 GPU 加速和高性能计算 |
Embarcadero C++Builder (RAD Studio) |
闭源 |
C, C++ |
Windows GUI 应用快速开发 |
二、Java 及 JVM 生态编译器
编译器 |
开源/闭源 |
语言 |
备注 |
javac (OpenJDK / Oracle JDK) |
开源/闭源 |
Java |
Java 标准编译器;OpenJDK 社区版本最常用 |
Eclipse OpenJ9 / J9 |
开源 |
Java |
高性能 JVM 实现,含即时编译器(JIT) |
GraalVM Native Image |
开源 |
Java, Kotlin, Scala 等 |
AOT 编译到本地可执行文件,快速启动、低内存 |
IBM Jikes |
开源 |
Java |
早期高性能 Java 编译器,已较少更新 |
三、.NET 及托管运行时编译器
编译器 |
开源/闭源 |
语言 |
备注 |
Roslyn (C# / VB.NET) |
开源 |
C#, VB.NET |
微软官方编译器平台,支持 IDE 实时分析、源码生成 |
Mono / Xamarin.iOS AOT |
开源 |
C#, F#, … |
跨平台 .NET 实现,支持 Ahead-Of-Time 编译到本地 |
dotnet Native AOT |
开源 |
C# |
.NET Core 下的本地化 AOT 编译,快速启动 |
四、现代系统及新兴语言编译器
编译器 |
开源/闭源 |
语言 |
备注 |
Go compiler (gc) |
开源 |
Go |
Google 官方,编译速度极快,交叉编译友好 |
gccgo |
开源 |
Go |
基于 GCC 构建的 Go 前端 |
rustc (LLVM-based) |
开源 |
Rust |
社区主流,集成 Cargo,侧重安全与并发 |
DMD / GDC / LDC |
开源 |
D |
D 语言的三大编译器分别侧重快速迭代 / GCC / LLVM |
Swift (swiftc, LLVM-based) |
开源 |
Swift |
Apple 主导,跨平台社区版 |
Kotlin Native (konanc) |
开源 |
Kotlin |
Kotlin->LLVM 本地编译,支持多平台 |
Haskell GHC |
开源 |
Haskell |
业界事实标准,优化良好,含并行运行时系统 |
Erlang HiPE / BEAM JIT |
开源 |
Erlang |
BEAM VM 自带 JIT,高性能 Erlang 代码执行 |
Crystal (LLVM-based) |
开源 |
Crystal |
Ruby-like 语法,编译成本地代码,性能接近 C |
五、专用 DSL、GPU 与其他
- CUDA NVCC(闭源)– NVIDIA GPU 代码编译
- FPGA HLS 编译器(Intel FPGA、Xilinx Vivado HLS)– C/C++ 到硬件描述
- MATLAB Coder(闭源)– MATLAB 代码生成 C/C++
- TensorFlow XLA(开源)/ TVM(开源)– ML 模型到高效本地代码
- Emscripten(开源)– LLVM IR 到 JavaScript/WebAssembly
小结
- 开源阵营:GCC、Clang/LLVM、rustc、Go、GraalVM、Roslyn、GHC、Swift、Kotlin Native、Emscripten、TVM 等,活跃度极高;
- 闭源商业:MSVC、Intel oneAPI、NVIDIA HPC SDK、ARM Compiler、Oracle/IBM 系统编译器、Embarcadero RAD Studio 等,在各自领域(Windows 桌面、高性能计算、嵌入式、企业级服务器)保持领先。
这些编译器共同支撑了从系统底层到云原生、移动端到高性能计算的全栈软件开发需求。