从上世纪50年代开始,编程语言五花八门,编译器和解释器层出不穷。此处只列出常见编程语言的编译器和解释器信息,不常见的编程语言有单独文章介绍。
C/C++
- cc
- 此处代表Unix C编译器,其他平台可能借用cc软链接到真正的C编译器。
- MSVC
- 微软MSVC对C语言标准的支持一直不上心,一直到VC++ 2013才对C99标准有一些支持,但依然不完整。可能因为微软C++委员会成员势力太强,偏向C++.
- MSVC支持C和C++编译。
- GNU GCC/G++
- 当然当今GCC/G++已经转变成编译器前端,可以支持不止C/C++代码,可参考如下默认编译器:
- Clang
- 属于LLVM项目。
- Intel C/C++
- Digital Mars C/C++
- Turbo C/C++
- TCC(Tiny C)
- 仅支持C语言。
注意,不要被形如CodeBlocks和Dev-C++之类的IDE名称迷惑,它们不是编译器,是外壳。
GCC最早是C编译器,后来不断集成新的语言,GCC可以看成只是前端。
ObjC/ObjC++
- GNU GCC/G++
- 一般而言,GCC编译Objective-C, G++编译Objective-C++, 实际上,可利用-x选择语言类型,如gcc -x objective-c++可编译ObjC++.
- Clang
Java
- Javac (Sun)
- Jikes (IBM)
- GCJ
- JRockit
- J++/J#
Fortran
- GFortran (使用了OpenCoarrays)
- NVFortran
- Intel OneAPI