Intel C++ Compiler与gcc对比有什么优缺点

发布网友 发布时间:2022-04-21 09:36

我来回答

4个回答

热心网友 时间:2023-08-19 21:30

  ICC 是intel 针对intel 体系架构开发的编译器,显然,你的代码,如果运行在intel机器上,intel的人开发的编译器,编译出来的可执行代码效率更高。毕竟人家对intel体系结构这么熟悉,里面的优化说明的,肯定做得不错。但是只能运行在intel体系结构上。比如你的PPC的板子就不能运行了。

GCC是一般性的通用的编译器,可以编译运行在各种体系结构上的代码,比如intel, PPC, ARM, MIPS。它很通用。里面的开发者,当然也熟悉intel 体系架构。但是也要考虑到通用。所以,是一般化的选择。在intel体系结构上运行的话,可能某些地方不如ICC的效率高。

他们实现的原理基本是一致的,但是在细节上,肯定差别很大。比如针对同一种语句,有的会告警,有的不会。有些支持扩展特性。有些不支持。

热心网友 时间:2023-08-19 21:31

ICC是intel针对intel体系架构开发的编译器,显然,你的代码,如果运行在intel机器上,intel的人开发的编译器,编译出来的可执行代码效率更高。毕竟人家对intel体系结构这么熟悉,里面的优化说明的,肯定做得不错。但是只能运行在intel体系结构上。比如你的PPC的板子就不能运行了。GCC是一般性的通用的编译器,可以编译运行在各种体系结构上的代码,比如intel,PPC,ARM,MIPS。它很通用。里面的开发者,当然也熟悉intel体系架构。但是也要考虑到通用。所以,是一般化的选择。在intel体系结构上运行的话,可能某些地方不如ICC的效率高。他们实现的原理基本是一致的,但是在细节上,肯定差别很大。比如针对同一种语句,有的会告警,有的不会。有些支持扩展特性。有些不支持。

热心网友 时间:2023-08-19 21:31

优点:编译速度和编译出来的代码的速度都比gcc好了两个档次,跟VC++有obj、lib的二进制兼容所以可以icc和cl混用,支持pdb调试巨方便(喜欢命令行的人喜欢windbg其他的人喜欢VC++) 缺点:不开源

热心网友 时间:2023-08-19 21:32

icc 是Intel公司专门为Wintel平台设计,有针对性的做了优化,缺陷也很显然,既然有针对性,也就不具备通用性。使用icc编译,可能会使编译出来的程序有更好的执行效率,但也可能使其在非Intel CPU上运行异常。并且,在某些情况下,即使在Wintel平台上也会崩溃。
gcc的优势在于其通用性,目前主流的所有平台,它基本上都支持。使用-O3优化编译后的执行效率,也不错。
在Win平台上,编译后执行效率最好的,依然是微软的vs,这可能与win系统是他们家出的有关。
使用icc带来的优势,并不突出,还是建议不要用了。
如果限定在win平台上开发,使用vc或gcc更合适一些。我个人推荐gcc,vc的ide环境过于庞大,不太喜欢,但win平台上主流的c开发工具还是vc,有不少开源的工程都使用它,如果你用到了这些开源代码,就不得不用了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com