如何确定要使用的C / C ++编译器?

时间:2010-05-10 20:20:25

标签: c++ c compiler-construction windows-vista operating-system

我想弄清楚要使用哪个C / C ++编译器。我在维基百科上找到了这个C / C ++编译器列表:

http://en.wikipedia.org/wiki/List_of_compilers#C.2FC.2B.2B_compilers

我很确定我想使用开源编译器。我觉得如果它是开源的,那么它将是一个更完整的编译器,因为许多程序员的观点被用来使它更好。如果你不同意,请告诉我。

我应该提一下,我计划学习C / C ++主要是为了与Windows,Linux,MAC和iPhone操作系统兼容的2D / 3D游戏应用程序。我目前正在使用Windows Vista x64操作系统。

7 个答案:

答案 0 :(得分:17)

首先,恕我直言作为初学者,您的开发环境(IDE)比编译器更重要。

我认为人们过早强调编译器的选择。虽然它不是Java,但C ++是可移植的。

如果您正在编写的程序仅适用于特定的编译器,那么您可能做错了或者可以稍微努力使其更具可移植性。

如果你达到编译器选择对你产生重大性能影响的程度,那么你已经完善了程序中的所有其他内容,并且你处于良好的状态,而且你的能力也很先进。我们曾经教过CS课程中相当高级阶段的编译器之间的差异。

如果你使用基于UNIX的机器(Linux,Mac,实际的Linux),那么几乎可以使用GNU(g ++)并且相当标准。如果它足以编译你的操作系统,那对你来说可能已经足够了。在Mac上,您可以使用XCode作为IDE,并且它可以很好地与g ++连接。在Linux上,有些人更喜欢命令行工具,虽然你可能喜欢Eclipse C ++支持,但今天它比3 - 4年前要好得多。

Windows上的东西比较棘手。如果您能负担得起,有权访问或有资格获得其中一个免费版本(例如,通过学校),我认为Microsoft Visual C ++环境(或现在称之为的任何内容)非常适合学习,它们是用于生产。我认为实际上有一个轻量级的视觉工作室,现在强调C ++,这可能是一个良好的开端。如果不这样做,您可能会找到特定于C ++的Eclipse发行版,并包含GNU编译器的实现。

答案 1 :(得分:14)

在你还在学习这些语言时使用gcc和g ++,这是一项足够的任务。如果您需要一个专门的编译器,您将需要更深入地了解语言和您的问题域,以正确评估候选人。

答案 2 :(得分:5)

获取Visual Studio Express(更容易,更快速的IMO,设置)并学习它;当你认为你对C ++以及“事物”如何运作有足够的了解时,你可以开始使用像QT或GCC(使用cygwin)之类的东西,并学会移植到不同的平台。

答案 3 :(得分:5)

  

我觉得如果它是开源的,那么它将是一个更完整的编译器,因为许多程序员的观点被用来使它更好。

这不一定是真的。您还可以说,如果您使用Microsoft的编译器,它将是Windows的最佳选择,因为Microsoft最了解如何针对Windows优化编译器。

微软有Visual C++ Express Edition这是免费的,当然还包括一个非常适合Windows开发的IDE。

但如果您对制作便携式软件感兴趣,请查看GCC,它是Linux上的默认编译器,也可以在Mac上使用。 (iPhone完全不同,需要只在Mac OS X上运行的特殊工具)。您可以使用CygwinMinGW获取适用于Windows的GCC。

答案 4 :(得分:1)

对于Windows,你可以使用CodeBlocks我相信它使用gcc及其非常友好的用户

答案 5 :(得分:1)

我强烈建议您使用MinGW

是:

  • 开源
  • 适用于所有主要平台
  • 附带标准的Win32标头和库

答案 6 :(得分:0)

编写可移植C ++代码的关键是:

  • 使用跨平台版本控制系统(颠覆是一个很好的选择),因为这样可以更容易
  • 尽早并经常在其他平台上编译和测试您的代码