如何确定使用哪个 C/C++ 编译器?

问题描述 投票:0回答:7

我正在尝试找出要使用哪个 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 操作系统。

c++ c windows-vista
7个回答
23
投票

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

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

如果您正在编写的程序仅适用于特定的编译器,那么您可能做错了事情,或者可以做一些工作来使其更具可移植性。

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

如果您使用基于 UNIX 的计算机(Linux、Mac、实际的 Linux),那么几乎 GNU (g++) 就是最佳选择,并且是相当标准的。如果它足以编译您的操作系统,那么它可能也适合您。在 Mac 上,您可以使用 XCode 作为 IDE,它与 g++ 的接口很好。在 Linux 上,有些人更喜欢命令行工具,尽管您可能喜欢 Eclipse C++ 支持,但现在它比 3-4 年前要好得多。

Windows 上的事情比较棘手。如果您负担得起,可以访问或有资格获得其中一个免费版本(例如,通过学校),我认为 Microsoft Visual C++ 环境(或现在的任何名称)非常适合学习,而且它们用于生产。我认为现在实际上有一个轻量级的视觉工作室,重点是 C++,这可能是一个好的开始。如果不这样做,您可能可以找到专门针对 C++ 并包含 GNU 编译器实现的 Eclipse 发行版。


14
投票

在学习这些语言时使用 gcc 和 g++,这对现在来说是一个足够大的任务。如果您将来需要一个专门的编译器,您将希望对语言和问题领域有更深入的了解,以便正确评估候选者。


6
投票

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

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

Microsoft 有 Visual C++ Express Edition,它是免费的,当然还包括一个非常适合 Windows 开发的漂亮 IDE。

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


5
投票

获取 Visual Studio Express(在我看来,设置更简单、更快捷)并用它来学习;当您认为您对 C++ 以及“事物”如何工作有足够的了解时,您可以开始使用 QT 或 GCC(带有 cygwin)之类的东西并学习移植到不同的平台。


1
投票

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


1
投票

我强烈建议使用MinGW

是:

  • 开源
  • 各大平台均可使用
  • 附带标准 Win32 标头和库

0
投票

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

  • 使用跨平台版本控制系统(subversion是一个很好的选择),因为这使得更容易
  • 尽早并经常在其他平台上编译和测试代码
© www.soinside.com 2019 - 2024. All rights reserved.