首页 > 代码库 > 各种 C++编译器的性能对比
各种 C++编译器的性能对比
C++中的C/C++编译器现在分为许多种,各有各的优缺点,但是现在界面上最热的C/C++编译器都有什么?以及linux,windows,dos下的什么C/C++编译器最流行?好了看完本文您就会知道了。
我主要从事windows下的编程,所以我一般用vc编译,毕竟是当今软件霸主的产品,性能和功能自然不必问了。就是编译速度有点慢。所以我在写小程序的时候有lccC/C++编译器。性能也不错,而且编译速度极快。
还有就是我觉得vc对于初学者来说可能不是好的C/C++编译器,因为mfc把所有的程序执行机制都封装在它的类里面。初学者看到其代码可能不明所以然。但是lcc不错,很适合初学者。它是标准的sdkC/C++编译器。程序的运行机制和消息处理机制写的非常清楚。
我主要用这两种C/C++编译器,其他的很少用,所以不敢评价。请大家评论。
1. GCC家族有
2. Cygwin
3. Mingw32
4. DJGPP
5. Dev-C++(Mingw32)
6. 还有正宗的GNU GCC 2.95.5~3.0.0.4版本
7. MS家族有
8. MSC 5.0、6.0、7.0
9. MSQC 1.0、2.5
10. MSVC 1.0、4.2、6.0、7.0
11. Borland家族有
12. TC 1.0、2.0
13. TC++ 1.01、3.0
14. BC 3.0、3.1、4.0、4.5、5.0、5.02
15. BCB 3.0、5.0、6.0
16. 其它有
17. Intel C/C++ 5.0
18. Watcom C/C++ 11.0、11.0c
19. VectorC 1.3.3
20. IBM VisualAge for C++
21. DigitalMars C/C++
22. KAI C/C++ 4.03f for RedHat 7.2
23. Lcc4.1
24. LCC-WIN32 2001-09-25~2002-04-28日版
25. Small C
26. CC386
27. Pacific C
28. 另外还有C的解释器
29. Quincy
30. Eic
31. CINT
上面提到的C/C++编译器/解释器,大部分我都使用过。现在固定使用VC7.0 Cygwin Mingw32 VectorC和LCC-WIN32这五种C/C++编译器。 在GCC 家族中GNU GCC是根本,其它的C/C++编译器版本都是从它导出的。其中,Cygwin和Mingw32都是WIN32平台下的C/C++编译器,DJGPP是DOS下的32位C/C++编译器。大家所熟知的DEV-C++充其量只是GCC的一个外壳,它所自带的C/C++编译器就是Mingw32的一个版本。
这些GCC的版本中,Cygwin是最大的,它与其说是一个C/C++编译器,倒不如说是一套编程工具。它不仅有C/C++编译器,还有其它很多的工具。其实,它就是一个UNIX系统在WIN32平台上的实现。实现了大多常用的UNIX工具,最近的版本中连Apache这样的“工具”都集成进来的。
不过,Cygwin虽然功能强大,但它却不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因为太多其它的工具分散了人们的注意力。相比之下Mingw32就要好用得多,它只有最基本的几个编程工具(只可惜它不自带GDB)。GCC中并不只是C/C++C/C++编译器。
其中还有很多其它的C/C++编译器如J***A,Fortran,ADA等。它是一个C/C++编译器集合,不过有些C/C++编译器只能在UNIX系统上用。MS家族的C/C++编译器就不用说了,大家对它们都很熟悉。VC 7.0(VC.NET)是它的最新产品。Borland家族也不用说,大家也是耳熟能详。最近它才推出了BCB 6.0。
其它的C/C++编译器如:Intel C/C++大家一看名称就知道是Intel的东西,它和VC6完全兼容,不过要挂在VC6下才能用。Watcom C/C++是早先C/C++编译器四国大战中的一员,原本是很不错的东西,可惜战略不对,现在已不见声息了。倒是以它为基础的一个OpenWatcom现在还在奋战。
VectorC是我近日才发现的一个好东东,它是个纯C的C/C++编译器。IBM的VisualAge for C++原本是IBM想用来淌C++C/C++编译器这片浑水的东西,不过IBM的战略改了,它就被放弃了。DigitalMars C/C++的前身的Symantec C++(它也是C/C++编译器四国大战中的一员),不过现在Symantec不做了,于是它的作者就把它改成了DigitalMars C/C++开放给大家使用。以上这些都是WIN32平台上的东西。
KAI C/C++是个很强大的C/C++C/C++编译器,它是个多平台的C/C++编译器。不过现在被INTEL收购了,已经停止开发了。Lcc4.1是个纯C的C/C++编译器它是开放源代码的。不过不怎么好用。LCC-WIN32是一个在LCC基础上开发的C语言的集成开发环境。
很好用,而且有很详细的资料,FREE!Pacific C是一个纯DOS的C的集成开发环境,就不多说了。Small C CC386都是开放源代码的C/C++编译器,它们都很简单,应用来给大家学习C/C++编译器的。Quincy Eic CINT都是C的解释器,是用来让大家学习C语言的其中CINT的功能很强大,还支持一些C++的特性。