由于我和我的同事在使用VS2010 sp1处理超过250,000行的C++项目时感到越来越沮丧(这个IDE的缓慢程度令人难以置信),在公司中我们正在考虑将代码迁移到其他的IDE。我们进行了一些研究,Embarcadero C++ Builder 2011 XE似乎是一个强有力的候选者。你对此有什么想法吗?它好用吗?它如何与VS2010 Ultimate相比?
由于我和我的同事在使用VS2010 sp1处理超过250,000行的C++项目时感到越来越沮丧(这个IDE的缓慢程度令人难以置信),在公司中我们正在考虑将代码迁移到其他的IDE。我们进行了一些研究,Embarcadero C++ Builder 2011 XE似乎是一个强有力的候选者。你对此有什么想法吗?它好用吗?它如何与VS2010 Ultimate相比?
我从1.0版本开始使用C++ Builder,但我非常讨厌它。多年过去了,你可能认为一些简单的小问题现在已经被修复了,但事实并非如此。以下是我对C++ Builder IDE的问题清单。
1. 你创建的布局或个性化设置无法保持不变。你创建了一个布局,保存后只适用于某些内容。例如,调试器窗口不会保持其位置,消息窗口也是如此。如果你分离了项目资源管理器,它有时会消失。大多数情况下重新加载你的个性化设置也无法解决这个问题。你只能拖动窗口重新排列。 2. 在调试版本中,如果你设置断点并开始逐步执行代码,你可以将鼠标悬停在变量上进行检查。有时它有效,有时它对于完全相同的变量无效。非常疯狂! 3. Eclipse会查找代码错误,例如如果你忘记在语句结尾处放置分号,它会在边缘放置一个小问号。C++ Builder没有做任何类似的事情。它会给你一个难以理解的编译时错误信息。 4. 最近的C++ Builder版本使用与VS类似的makefile;它是一个XML混乱。Eclipse与CMake和Makefiles一起工作。我在一些地方读到过,CMake维护者正在寻找一个C++Builder生成器,但我最近检查时并没有发现这个存在。我进行嵌入式和交叉编译,所以有时我的C++ Builder代码会被复制到我的嵌入式开发环境或与之共享,我最终需要维护两个构建环境。 5. C++ Builder实际上不利用多CPU编译代码。然而,有一个第三方工具可以花更多的钱来获取此功能。它叫做TwineCompile (http://www.jomitech.com/twine.php)。在Eclipse中,它们调用你正在使用的任何编译器(gcc等...),这些编译器和make支持-j选项。 6. C++ Builder附带了AQTime的简化版本,它是一个动态代码分析器。花更多的钱,你就能得到更高级的版本。Eclipse支持许多动态和静态代码分析(也需要$$),但至少插件是存在的。我们使用Klockworx。 7. C++ Builder没有我所知道的外部源代码控制支持,例如GIT。Eclipse有。C++ Builder附带了内置的Subversion,如果它支持GIT,我无法使其工作。当我给它一个git路径时,它告诉我它不理解URL方案。 8. 我写的某些模板代码会导致编译器段错误并且必须完全重新启动IDE。对我来说这很疯狂。你有一个10多年前的编译器,它仍然会段错误。我有一段C++模板代码,当我将它带到我的工作电脑上运行完全相同版本的C++ Builder时,它可以编译,但在我的家用机器上会段错误。我绝对确定没有任何不利因素参与,例如病毒等... 9. 在编译可能需要很长时间的大型项目时,你无法使用IDE浏览代码。有时你可能会看到编译器警告滚动而过,你必须等待编译作业完成才能检查所提到的行或使用替代方法打开文件。 10. C++ Builder IDE具有Project Group的概念,其中包含更/少是自包含的子项目。Project Group没有像子项目那样的项目组包含/链接路径的概念。子项目有基本、调试、发布路径,其中调试和发布可以从基础中继虽然这不是一个答案,但我会把它留在这里:
Embarcadero XE既没有年轻化的IDE也没有年轻化的编译器,没有任何积极的方面。只有在你被束缚于它(遗留软件)或者想要进行Delphi开发时才使用它。
对于C++来说,请对自己好一点,加入21世纪吧:选择一个更强大、多功能和现代化的工具,比如VC++或Qt。
这个问题实际上是个人观点的问题。
我个人非常讨厌Visual Studio,避之唯恐不及。我的Eclipse使用经验仅限于Java,但即使如此,我也很难与它一起工作。
我使用C++Builder已经15年了,从v3.0一直到最新的XE6。是的,它有一些怪癖和限制,但我仍然发现它是我工作中最容易使用和高效的IDE,只要你知道如何使用(或绕过)它们。也许我的使用经验阻碍了我使用其他IDE的能力,但没关系。我仍然更喜欢C++Builder。但我仅将其用于Windows开发(VCL非常成熟和稳健),我尚未使用它进行跨平台开发(FireMonkey还有很长的路要走才能进化和成熟)。我确实使用了很多开源项目。是的,有时我必须调整它们的项目和/或代码使它们编译,但那通常只需要一次,然后它们就可以正常工作。
1.我们有一个超过100万行代码的解决方案,而VS2010可以很好地处理它。我们特别喜欢/MP开关,因为它可以在所有可用的CPU核心上编译。
您没有说明您的硬件情况。如果您现在还没有运行至少i7-2600 +快速SSD,我建议先尝试升级硬件。
2.我过去经常使用Borland工具。Delphi相当稳定;C++ Builder则要更加容易发生错误。几年前,我帮助将旧的Delphi项目升级到安装了一些服务包的新版Delphi IDE。即使是基本的文件IO API也存在错误,这些API从Turbo Pascal时代就起作用了。我们不得不降级到之前的版本。我预计C++ Builder的质量不会比VS2010好多少。
3.您没有说明具体哪里会变慢。您可能希望将某些项目转换为单独编译的组件。另外,请确保使用PCH。
此外,值得调查的是是否通过在每个单元中包含大量不必要的头文件来滥用C++包含模型。如果在预处理后,Intellisense和编译器需要处理大量的代码,则没有任何IDE可以帮助。
System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
}
在最近的互联网帖子中,比较了Visual Studio和C++Builder的最新版本及其价格,购买价格高达数千美元。即使永远不需要升级安装任何一个工具,相比之下,C++Builder仍然比Visual Studio更为经济实惠。在花费辛苦挣来的钱之前,请进行彻底的研究。希望这两个工具都有30天的试用安装,以便进行并排比较,因为你可能会有所不同。
^
和 %
符号的概述的人,请查看此链接:C++/CLI。它涵盖了所有新手需要了解的内容,以理解 C++/CLI 垃圾回收器符号与 C++ 标准之间的区别。 - CPlusPlus OOA and D