Compilers

发布时间:2017/02/13

MSVC

微软出的,通常用于编译Windows应用

gcc

GNU compiler collection的缩写,是一个编译器集合,包含很多语言的编译器(c,c++,Objective-c,Ada, Fortran, Java). 当你调用gcc时不一定是调用c/c++编译器,是gcc根据文件扩展名自动识别并调用对应编译器。

GCC/g++

gcc的 c++ 编译器

cc

是来自Unix的c语言编译器,是c compiler的缩写。

Linux下的ccgcc的符号链接。可以通过$ls –l /usr/bin/cc来简单察看.而编译时看到的控制台输出CC则是一个指向gcc的变量,该变量是make程序的内建变量,就算你在Makefile中没有CC= ,该变量也会存在,并默认指向gcccc的符号链接和变量存在的意义在于源代码的移植性,可以方便的用gcc来编译老的用cc编译的unix软件,甚至连Makefile都不用改。而且也便于Linux程序在unix下编译。

clang

c家族的编译器,兼容gccMSVC,目前由苹果公司主导,据说是比gcc更模块化,生成的代码更加优化。

  • 更快
  • 更小
  • 生成代码质量高
  • 功能更丰富(eg: 用于代码补全)

Tiny C Compiler

  • 生成代码质量一般
  • 小众,长期不维护,可做学习只用

参考:

http://www.cnblogs.com/xiedan/archive/2009/10/25/1589462.html

http://xuehanlee.blog.51cto.com/8817835/1397974

最后更新:2022/06/30