在 linux 下工作的带有 gui 的 C++ 的最佳稳定(编辑器和编译器)是什么?
注意:明确不寻找完整的 IDE。
我喜欢用Emacs编写代码。它也为 gdb 提供了一个不错的 gui。我最近在处理一些代码片段时拍了一张快照(见下文,它看起来一点也不像 1980 年 :)。
也就是说,还有很多其他优秀的 IDE。我喜欢用于 Java 开发的Eclipse,听说它也有一个不错的 C++ 插件(CDT)。Netbeans最近也适用于 C++。KDevelop是一个支持多种语言的 KDE IDE,目前正在为 KDE4 重写:KDevelop 博客。看起来很有希望。还有一些其他的我无法告诉你它们是怎样的,因为我没有测试过它们,包括Anjuta(用于 Gnome 桌面)和Code::Blocks(用 wxWidgets 编写,它非常跨平台)。如果您想要的只是编译器的 GUI 和符号浏览器,您还可以使用geany,它非常快,并且包括一个嵌入式终端,如 KDevelop。
所有这些都有其起起落落。最好尝试一下,然后再决定。从稳定性来看,我发现 Emacs 很稳定,从不崩溃,Eclipse 也很成熟。Netbeans 获得第三名。它有时会挂起,但总的来说它也很成熟。KDevelop 喜欢(ed)时不时崩溃,但在这方面取得了很大进展。尤其是 3.5 版本确实向前迈出了一大步,感觉比之前的任何版本都成熟。
Emacs 编辑一些代码:
Emacs 调试会话:
Code::Blocks作为 Windows 和 Linux 的 C++ IDE 运行良好。我现在只在工作中使用它(在两个平台上),并且比 Visual Studio 更喜欢它。我发现代码完成也往往工作得更好!
它非常擅长挑选可用的编译器并与 gcc、MinGW 和 Visual Studio 编译器一起使用,它还具有调试功能。
SciTE是一个很好的“程序员的编辑器”,它是专门为此目的而编写的。它背后的引擎Scintilla也在 IDE 中广泛使用。Linux 上事实上的编译器是GCC,它也是一个非常强大和稳定的编译器。您应该选择 GCC 4 或更高版本以获得更好的 C++ 性能。
SciTE 也具有集成编译器的基本支持(按下按钮并查看编译器的输出、基本代码完成......)。SciTE 最重要的一点是,你必须先编辑它自己的配置,让它成为一个舒适的编辑器。默认情况下禁用许多重要功能,例如行号、文件选项卡、恢复会话。
您还需要熟悉(公认简单的)Makefile格式,以便make
用于构建。SciTE + make 无论如何都不能替代一个好的 IDE,但如果你不想使用一个完整的 IDE,它们仍然非常擅长让你保持生产力。
日食不错。带有它的插件的 Netbeans 也不错。您也可以使用 Kdevelop(非常可配置)。
如果你想 GUI Moranar 提到 QT desiner。还有 Glade(GTK 绑定)和 WxGlade(包括 C++ 在内的多种语言的 wx 绑定)。
在 Linux 环境中进行开发时,有 2 种方法可供您选择: 如果您想以一体化的方式管理您的项目,您应该选择 KDevelop。
它是迄今为止我使用过的最先进、最稳定的 IDE(在 Linux 环境中)。Code::Blocks、Eclipse CDT、Netbeans 也非常强大,但根据我的经验,KDevelop 拥有其他 IDE 必须提供的一切,甚至更多。但是您应该自己检查其他 IDE,因为这是我的意见。
第二种也是比较耗时的方法是去了解Moranar提到的gnu开发工具链。gcc/g++, make, gdb/DDD, valgrind,(g)vim/scite ... 。出于测试目的,还建议您熟悉 perl 或 bash 脚本等脚本语言。它节省了很多时间......
如果您想快速完成工作,您应该坚持使用 IDE 解决方案,但如果您想成为一个更完整、更有能力的开发人员,请选择 gnu 工具链。到目前为止我还没有后悔过。
ps 如果您选择 scite 作为您的编辑器,请向 ypnos(我上面的那个人)询问他的配置。它拥有您需要的一切,而且对眼睛也很容易:)
我要把我的两分钱放在这里。我真的很喜欢 KATE(KDE 的一部分)。它是 KDevelop 中使用的编辑器,但不用作 IDE。相反,它有一个内置的命令行,因此您可以自己发出构建命令。在带有 Make 或 Scons 或 Bjam 或其他设置的项目上(很容易为您的项目编写一个简短的 Bjam 文件),您可以直接发出 build 命令。
我喜欢 KATE,因为它具有没有臃肿的 IDE 功能。不幸的是,它没有重构支持,但它确实有一个符号浏览器,我用得不够多。
我喜欢Linux 和 Windows 上的SciTE。
它非常轻巧且可定制。
我建议使用 Eclipse,因为它是一个非常适合初学者使用的 IDE。它也可用于 Windows 和 Linux。最有用的功能之一是自动完成。此外,还有一个大型社区可以回答您对此提出的任何问题。
Eclipse 和 Netbeans 对于所有支持的语言都非常棒。Eclipse 过去快得多,netbeans 赶上了,而且功能更强大,更干净,支持更多语言。
此外,如果您认为这是一项您不想复制的投资,请使用 Netbeans——他们目前拥有最多的开源编辑器,并且还在增加。
就我个人而言,我更喜欢与环境无关。我了解我需要了解的关于我正在工作的任何环境的知识,而不会过于依赖键绑定和特定的布局技巧,诸如此类。
我仍然遇到使用 emacs 并喜欢它的人(以及一些使用 VI 的人!)。他们觉得自己无法改变,因为他们在学习击键方面的投入很大。对我来说,这似乎有点弄巧成拙(您通过依附于特定的键盘布局来拒绝使用更新/其他工具),但无论如何。
我不确定您的问题是否完全重复,但这已被讨论过多次。看有关已讨论过的所有其他问答线程的完整列表,此答案。或者选择IDE标签。
编辑:
我想这可能听起来很讨厌,但如果这听起来很粗鲁,我想不出另一种说法,所以提前道歉:
据我所知(如果我错了,我相信人们会纠正我)IDE 和编辑器/编译器组合之间的主要区别在于集成调试器的存在。既然我无法想象在没有调试器的情况下进行严肃的开发工作,为什么不直接说“IDE”并完成它呢?我的意思是你无论如何都需要一个调试器——为什么不把整个东西放在一个包里,然后收工呢?如果您真的不需要调试器,那么请分享您正在进行的开发类型,您只需要编写和编译代码而无需调试它。
我理解“如果你不使用它,就不要为此付费”的理念,但我认为说“好吧,我只需要一个编辑器和编译器,因为我不需要 IDE 的额外开销”是在这种特殊情况下只是一个错误的命题。
Sun Studio 包括一个完整的 IDE 和一个非常高性能的编译器,可用于 Red Hat(或 CentOS)和 SUSE Linux 平台以及 Solaris。它是免费的,但据我所知,目前还不是开源的。
KDevelop,代码::块,Eclipse
SciTE + scite-debug == 我所需要的一切
SciTE:http ://www.scintilla.org/SciTE.html scite-debug:http ://scitedebug.luaforge.net/