各种 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++的特性。