• 文章
  • 为何我们弃用 Bloodshed Dev-C++。
发布
2011 年 2 月 22 日 (最后更新:2014 年 1 月 2 日)

为何我们弃用 Bloodshed Dev-C++。

评分:4.3/5 (224 票)
*****
各位下午好,不论男女,不论天生或后天变性,不论无性、雄性激素、机器人、黑莓、书呆子、书呆子、智能裤子、兔子、兔子炖菜、fork 炸弹、猴子衍生物等等等等……

本文将讨论一个被称为 Dev-C++ 的 IDE(特指 Bloodshed Dev-C++),它出人意料地被广泛使用。更具体地说,我将讨论为何我们试图劝阻人们使用 Dev-C++,以及如果你是 Dev-C++ 用户,你可以怎么做。本文不适用于 Orwell Dev-C++ 或任何其他 Dev-C++ 的分支(Orwell Dev-C++ 将在下文讨论,作为一个可行的替代方案)。

为何我们弃用 Dev-C++


一切都归结为一个原因
官方 Dev-C++ 自 2005 年以来就没有更新过,而且很可能永远不会更新,因为首席开发者在 2006 年表示,由于个人原因,他将不再继续开发 Dev-C++

因此,Dev-C++ 的陈旧性直接导致了 3 个主要问题。
  1. 附带的 MinGW 已过时。
  2. 许多已知错误可能永远无法修复。
  3. 该 IDE 缺乏更现代 IDE 的功能。
我将按顺序逐一介绍。

附带的 MinGW 已过时。

"MinGW" 是一个非正式的缩写,代表“Minimalist GNU for Windows”(适用于 Windows 的极简 GNU)。它包含一套在许多 *nix 系统上常见的工具,包括 Dev-C++ 使用的 g++ 编译器和 gdb 调试器。

Dev-C++ 在计算机时代(Computer Centuries)没有更新的问题在于,捆绑的 MinGW 已经有好几年了,因此该编译器在新的系统上运行效果远不如最新的 MinGW g++ 副本。最新版本的 Dev-C++ 附带 MinGW 版本 3.4.2,然而,在本文最后更新(2013 年 11 月 8 日)时,MinGW 的 g++ 版本已是 4.8.1。

最后,不仅老旧编译器的代码生成可能更差,而且 Dev-C++ 附带的编译器是在 C++11 标准开始流行之前发布的。许多有价值的 C++11 特性(如 auto、decltype、新的 for 循环语法、lambda 表达式、正则表达式和多线程)完全不受支持。

许多已知错误可能永远无法修复。

最新版本的 Dev-C++(4.9.9.2,顺便说一句,这是一个测试版)根据 Sourceforge 的 bug 跟踪器(链接),有超过 350 个未解决的错误,可能还有更多未计入的。

此外,由于 dev-packs 系统不再更新,该功能本身也已损坏,许多 pack 要么过时,要么已不存在。

由于首席开发者已退出,并且自那时起再无更新,这些错误很可能永远不会得到修复。

该 IDE 缺乏许多更现代 IDE 的功能。

Dev-C++ 的调试工具……也已经过时。调试器是任何程序员在任何级别都必需的工具,关于 Dev-C++ 调试界面混乱的抱怨并不少见。

此外,代码补全和文件解析器也落后于时代。随着 C++11 标准的发布,大多数功能齐全的 IDE 都已添加了对 C++11 功能的支持。而 Dev-C++ 很可能不会改变,这使得它比现在更加不适合 C++ 编程。

Dev-C++ 用户可以怎么做

切换到 Orwell Dev-C++

如果您真的很喜欢 Dev-C++ 或被要求使用它,这是一个推荐的选项。它是原始 Dev-C++ 的一个分支,支持 C++11,并且更新更及时。它提供 32 位平台和 64 位平台两种现代编译器的选择。

您可以在这里下载 Orwell Dev-C++ 和其中一种编译器:http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/

完全切换 IDE

市面上还有其他 IDE,其中一些质量非常出色。虽然切换 IDE 有一个学习曲线,但存在一些值得称赞的 Dev-C++ 的替代品。此处列出的所有 IDE 均可在 Windows 上运行,但并非所有 IDE 都附带编译器。

好的免费 IDE 列表包括但不限于

选择极简主义

这并不是一个我非常推荐大多数人的选项,但是使用一个极简文本编辑器配合 makefile 和终端是我有时喜欢的开发选项,而且我相信还有其他人也会喜欢。

可能的轻量级编辑器包括但不限于

更新 Dev-C++

考虑到您在使用 IDE 本身时可能遇到的问题,我不推荐此选项,但如果您非常不愿意切换到 Orwell Dev-C++,那么至少可以做的是更新附带的 MinGW,使其更适合使用。

很遗憾,我无法提供具体的操作方法,因为我自己甚至无法安装 Dev-C++。但是,您可能需要搜索一些与 MinGW 相关的文件,删除它们,然后将新的 MinGW 安装到相应位置。不过,执行此操作时要小心,因为同时存在两个版本的 MinGW 可能会导致链接器错误(“未定义引用 __cpu_features_init”)。

总而言之……


虽然原始的 Dev-C++ 可能易于使用,但这并不意味着您应该继续使用它。引用 Moschops 在 这里 的话
将我的脚钉在地板上比用我自己的肌肉来保持平衡更容易,但你没看到我这样做 :)

-Albatross

编辑 1:添加了一些有用的超链接。
编辑 2:修复了项目符号点。
编辑 3:在编码更新删除了加号后,将加号放回了文章中。还更新了 wxDev-C++ 的下载链接。
编辑 4:添加了 QT Creator 和 Notepad++。感谢 Danellosimmutable 的建议!
编辑 5:我不得不最后加上 Moschops 的一句名言。:)
编辑 6:修复了一个小的格式问题,添加了一些链接,并进行了一些其他小改动。
编辑 7:更新了 Eclipse CDT 链接以反映新版本,并对一些措辞进行了修改。
编辑 8:承认 Orwell Dev-C++ 是一个非常有价值的替代方案。
编辑 9:更新了 Sourceforge bug 跟踪器链接,并进行了一些小的措辞更改。
编辑 10:更新了一些链接,强调了本文是指 Bloodshed Dev-C++,并删除了切换到 wxDev-C++ 的建议,因为其开发已经停滞了一段时间。
编辑 11:删除了关于 Code::Blocks 已过时的说明,因为在 2013-12-27 有一个新版本发布。