哪个是最好的、标准的(并且希望免费)C++编译器?

5

大家好,我是一名C++新手,目前正在学习数据结构。我想向大家请教一个问题:

自从我开始学习系统工程以来,我一直在使用最新版本的Dev-C++进行编程项目。它一直表现得很好,但有一个致命的缺陷......在它上面调试代码非常痛苦!!每次你启用调试模式,你都必须祈祷它不会在你观察的变量甚至发生变化之前就崩溃。

然后,我想使用微软的Visual-C++,因为它也是免费的;然而,我问了我的老师,他告诉我不要在课程中使用它,因为它不是标准的(在其中编译的程序只能在Windows上运行);我们需要编写可以在Windows和Linux环境下编译的代码,并且在任何一个环境下编译后都能够在两个环境中使用应用程序。

因此,各位,请给我建议:哪个C++编译软件拥有强大和/或稳定的调试模式,实现了标准编译器(顺便问一下,它叫g++吗?),并且希望是免费的?

感谢您的关注。Gracias y hasta luego ^_^(顺便说一句,第一篇帖子很开心!! ^o^)


感谢大家的建议!我会在学习过程中牢记它们(尤其是Eclipse,在我学习面向对象编程时需要使用)。 - NeoGlitch
9个回答

12

有一个名为Mingw的g++和GDB(GNU调试器)在Windows上的实现,它可以很好地工作。不过,因为我猜你也在寻找图形化IDE/调试器,所以我建议你使用Eclipse。Eclipse的C开发工具包括与Mingw构建工具和GDB的优秀接口。另外,关于你提到编译后的程序能在Windows和*nix上使用,据我所知是不可能的。


我认为Dev-C++已经使用了Mingw。 - BigSandwich
我从来没有使用过Dev-C++,我只是以为它是其他东西。 - rtward

9

“标准”是什么意思,这取决于你的理解。无论如何,你都需要在Linux和Windows上编译你的代码。没有办法创建一个可执行文件,可以在两者上运行。只需使用VS在Windows上进行编译和调试,然后确保它也可以在Linux上通过GCC进行编译和运行。

我认为他只是希望你在两个操作系统上使用相同的编译器,这样就不必处理不同编译器之间的差异。我认为这对你有好处。编写可以在多个编译器上编译的代码很重要,因为它展示了哪些部分的标准真正是标准的。


7

Code::Blocks是一款免费、跨平台的优秀软件。您可以下载包含CB IDE、MinGW C++编译器和gdb调试器的软件包。安装非常简单。


谢谢!这确实是我正在寻找的东西。我安装了它,在上面实现了“列表ADT”,进行了一些调试,而且运行得非常好!!再见,永别了Dev-C ++ ^ ^。再次感谢Butterworth先生=D - NeoGlitch

3

看起来你正在寻求一个集成开发环境(IDE)。

Eclipse可能适合你。它支持Windows和Linux操作系统。

http://www.eclipse.org/cdt/


3

在编译器方面,GCC是您最好的选择。它是一个纯粹意义上的编译器,尽管它没有本地界面。

我会寻找一个良好的开发环境来连接它。

从那里偏离,我目前个人喜好的IDE是Eclipse,但这只是一个个人的事情。


3
如果您只使用C++的标准功能,可以使用Visual Studio Express C++。您不必使用编译器的Windows扩展:MFC、ATL、Wizards等。
但是,如果您想要制作可移植的东西,那么尝试同时针对GCC和VS这两个编译器实际上是更好的练习。
此外,最近诺基亚发布了一个新的多平台IDE QtCreator,虽然它是第一个版本,但至少值得考虑。

1

MinGW相当不错,正如@Colfax所说。考虑在Cygwin中使用ddd,这使得使用gdb变得更加容易。请参见此SO question

但是...难道Qt 4.5现在作为LGPL发布,这不成为一个很棒的免费工具吗?请看here


0
作为一名Linux用户,我认为最好的体验是使用GVIM作为编辑器和Mingw作为编程环境。GCC是标准,但LLVM-GCC非常有前途,并且带有一个Mingw构建版本,可以在Windows上直接使用。

0

我从开始学习编程就使用DevC++,而且我非常喜欢它。我无法改用其他编译器,因此我使用wxDevC++,这是DevC++的一个仍在维护的版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接