了解一些常用的牛逼编译器(不限制编程语言, 不限制平台)

  • MSVC
Windows平台上最常用的编译器,在C++编译器圣战中的胜利者,一个常被人诟病的是对标准的支持不够新不够快(最近开始逐步加快了)。随着微软发布基于Clang / C2,这一条路以后若成功,MSVC与Clang / C2并行,甚至逐步逐步退出舞台,都是有可能的事情。
 
  • Clang
licence极度友好,代码质量非常棒,采用的IR为LLVM IR非常优秀,各大公司逐步发力在Clang上,包括不限于微软,IBM,Nvidia等,各大公司也在开始疯狂的往Clang / LLVM交代码(圈地),也开始往Clang实现OpenMP,Nvidia GPU等支持,目前在赶超GCC的道路上一路激情的狂奔,前途一片光明。但是Clang依赖于的LLVM,目前的性能无法与GCC相提辩论,在Benchmark性能测试上几乎没有胜利的项目,优化的道路上任重道远,同时一些开源软件没有办法编译过去,主要是缺乏对GCC 一些Builtin函数、自身带的汇编器的孱弱导致。特色:快速编译和较少内存占用;有诊断功能;兼容GCC
 
  • GCC/G++
跨体系结构很多,很多开源软件默认编译器都是GCC/G++,这一点上Clang比不上。
 
  • ICC
没有自己专门的前端(传说中的外包),而且是针对Intel体系结构上专门优化。
 
  • IBM XL C++
在IBM特定硬件与平台上表现非常牛逼,Benchmark性能测试非常优秀,其最初的设计思想就是为了性能,其最高优化级别可以达到O5,带来的缺点则是在编译时间上往往过长。而另外一个常被人诟病的是对C++标准的支持、开源软件的支持、错误信息的提示上都不够友好,然而从13.2开始,随着IBM采用Clang融合方案,目前这几项都得到有效改良,然而融合的道路也必定是漫长的。
 
  • VectorC

这个东西只支持纯C。但它却号称是最快的编译器,不过经过试验,它的确在有些情况下强过其它编译器很多!而且它还有个交互式的优化器,可以让你直接看到C代码对映的汇编代码。
 
  • Cygwin和Mingw32
为一母所生,其运行效果相差不大。它们生成的代码效率都很不错,编译的速度也很快,最值得一提的是它们对C++的特性的支持算是所有编译器中最完全的,而且它们还支持C++的大部分特性。这一点很是不错!
 
  • MSVC
大家对MS的VC已经很熟悉了,本不用我多说。不过在它的最新的产品VC7.0中,有很大的改进。它对C++的特性的支持比6.0有了很大的提高,是我所用的编译器中是仅次于GCC的。而且它编译出的程序,运行速度很快!仅有少数时候次于VectorC与GCC,其它情况都是最快的!其平均运行速度是最快的。
 
  • Borland
使用Pascal编译器的Delphi,以及使用标准C++编译器的C++ Builder具有较高的执行效率,相对微软平台的C++而言,开发的程序体积相对较大。这是他的唯一缺点,但是执行效率却相对微软的编译器高。
 
  • Intel
Intel的编译器大家可能不熟,它太贵了!还要有VC的支持,很不划算,而且编译速度比VC6还慢。不过它的代码质量很不错。
 
  • DigitalMars C/C++
没有什么亮点,编译速度较快,代码执行速度适中,对C++特性支持还算不错。
 
  • LCC-WIN32
是个很不错的集成开发环境,它只支持纯C。它的编译速度极快!代码执行速度较慢。不过它的最大亮点在于它的IDE,在所有的FREE编程工具中,它的IDE是最专业的,有很强大的代码分析,管理功能。而且它提供了大量的编程资料。
原文地址:https://www.cnblogs.com/cuckoo-/p/10733980.html