各种编译器有什么特点和不足
来源:互联网 发布:nero10刻录软件怎么用 编辑:程序博客网 时间:2024/03/28 19:08
1.MSVC,Windows平台上最常用的编译器,在C++编译器圣战中的胜利者,一个常被人诟病的是对标准的支持不够新不够快(最近开始逐步加快了)。随着微软发布基于Clang / C2,这一条路以后若成功,MSVC与Clang / C2并行,甚至逐步逐步退出舞台,都是有可能的事情。
2.Clang,重点介绍。licence极度友好,代码质量非常棒,采用的IR为LLVM IR非常优秀,各大公司逐步发力在Clang上,包括不限于微软,IBM,Nvidia等,各大公司也在开始疯狂的往Clang / LLVM交代码(圈地),也开始往Clang实现OpenMP,Nvidia GPU等支持,目前在赶超GCC的道路上一路激情的狂奔,前途一片光明。但是Clang依赖于的LLVM,目前的性能无法与GCC相提辩论,在Benchmark性能测试上几乎没有胜利的项目,优化的道路上任重道远,同时一些开源软件没有办法编译过去,主要是缺乏对GCC 一些Builtin函数、自身带的汇编器的孱弱导致。
3.GCC/G++,跨体系结构很多,很多开源软件默认编译器都是GCC/G++,这一点上Clang比不上。
4.ICC,没有自己专门的前端(传说中的外包),而且是针对Intel体系结构上专门优化。
5.IBM XL C++,在IBM特定硬件与平台上表现非常牛逼,Benchmark性能测试非常优秀,其最初的设计思想就是为了性能,其最高优化级别可以达到O5,带来的缺点则是在编译时间上往往过长。而另外一个常被人诟病的是对C++标准的支持、开源软件的支持、错误信息的提示上都不够友好,然而从13.2开始,随着IBM采用Clang融合方案,目前这几项都得到有效改良,然而融合的道路也必定是漫长的,以前的历史包袱等也需要背上。
- 各种编译器有什么特点和不足
- xml有什么优势和特点
- static函数和变量有什么特点
- Final有什么特点?
- MySQL的特点和不足
- static 变量 和 static 函数各有什么特点
- nginx和apache相比,哪个强,各有什么特点?
- pvfs2 有什么特点呢?
- 线程和进程有什么差别?Java多线程机制有什么特点?
- 本地管理表空间和字典管理表空间的特点,ASSM有什么特点
- 本地管理表空间和字典管理表空间的特点,ASSM有什么特点
- java中static的特点&&静态变量和静态方法分别有什么特点
- 黑马程序员----Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?
- 各种 CD 和 DVD 光盘之间有什么区别
- 1 ZigBee是什么?有什么特点?有什么用?
- 什么是开关稳压电源?有什么特点?
- 什么是线性稳压电源?有什么特点?
- 液晶显示器有哪几种面板,各有什么特点?
- bzoj2456瞎搞
- 315. Data Stream as Disjoint Intervals
- 防小黄车弹可滑动引导界面
- CodeForces 488 C.Fight the Monster(枚举)
- OMM
- 各种编译器有什么特点和不足
- undefined reference问题总结
- Eclipse 快捷键
- 关于最下方 EditText 获取焦点 界面上移的问题
- PRML读书笔记——稀疏核机
- 【网络基础学习1】理解以太网的帧结构
- Linux学习之第一个shell脚本
- 【C】写一个宏将一个数字的奇数位和偶数位交换。实现两个int(32位)整数m和n的二进制表达中,位(bit)不同的个数
- SQLServer AlwaysOn FCI与AG组合