哪个是最好的C++编译器?

cit*_*itn 13 c++ compiler-construction mission-critical

C++编译器能否产生不太好的二进制文件?您可以在这里考虑输出的稳健性和性能.是否有"最佳"C++编译器这样的东西?如果没有,那么着名的编译器(g ++,英特尔C++编译器,Visual C++等)的优点是什么,当然还有不那么强大(已知的错误和问题)点.

当编译器产生错误输出导致任务关键型软件失败时,是否存在文档记录?

Bas*_*ard 17

G ++似乎是最受欢迎的.它是免费的,便携式的,非常好的.Windows端口(MinGW)在我上次使用它时可能已经过时了(可能是一年前).

英特尔C++编译器被认为是生成最快代码的编译器(但是已知它会为AMD处理器生成错误的SIMD代码).您可以在相当严格的条件下在GNU/Linux上自由使用它.
我已经使用了一段时间,我喜欢这样一个事实,即它会发出其他人没有的聪明警告.

VC++通常被认为是最好的C++ IDE,从我听到的编译器也很好.它是免费的(如免费啤酒),当然只能在Windows上使用.
如果您对Windows编程感兴趣,我建议使用此编译器,因为它始终是最新的,并为此提供了更多高级功能.

我建议在Windows上使用VC++,在其他操作系统上使用G ++.自己尝试免费版的I ++,看看它是否物有所值.


当编译器产生错误输出导致任务关键型软件失败时,是否存在文档记录?

是的,可能,但我会说大部分时间都可能是程序员的错.例如,如果某人不知道浮点运算如何工作,则编写不可靠的代码很容易.一个优秀的程序员也必须知道C++标准保证什么是有效的,哪些不是.她还应该知道编译器的限制是什么,例如它如何实现标准以及它如何积极地进行优化.

  • MinGW的TDM版本是4.4.0版.你可以从http://tdragon.net/recentgcc/获得它 (3认同)
  • 实际上并不是AMD的SIMD不好,而是更像是针对AuthenticAMD的cpuid检查,并且调用SIMD代码不兼容.我不再拥有URL,但基本上有人找到了生成的代码,删除了徽章检查,并且SIMD运行速度与英特尔相当. (2认同)