因为我们(我和我合作的人)在使用C++项目时越来越沮丧VS2010 sp1中的250 000+ LOC(这个IDE的速度简直令人难以置信),在我的公司,我们谈论的是将代码迁移到某些不同的IDE.我们做了一些研究,一个强有力的候选人似乎是Embarcadero C++ builder 2011 XE.有什么想法吗?这有什么好处吗?它与VS2010终极相比如何?
Eri*_*ric 36
我从1.0开始就一直在使用C++ Builder而且我很讨厌它.你会想到,这些年来,现在已经解决了简单的小麻烦,但事实并非如此.以下是我使用C++ Builder IDE时遇到的问题列表.
您的布局或个性永远不会得到维护.你创建一个,保存它,它只适用于某些事情.例如,调试器窗口不会保持其位置,也不会保留消息窗口.如果您分离项目资源管理器,它有时会消失.大多数时候重新加载你的个性并不能解决这个问题.您被困在将窗户拖回原位.
挖掘者有时会工作,有时也不起作用.在调试版本中,如果设置断点并开始单步执行代码,则可以将鼠标悬停在变量上进行检查.有时它可以工作,有时它不能在完全相同的变量上工作.疯!
Eclipse会查找代码错误,例如,如果您忘记在语句末尾放置一个分号,它会稍微放一点吗?保证金.C++ Builder不会做这样的事情.它会给你一个神秘的编译时错误信息.
最新版本的C++ Builder使用类似于VS的makefile; 这是一个XML混乱.Eclipse与CMake和Makefiles一起使用.我已经阅读过CMake维护者正在寻找C++ Builder生成器的地方,但最后我检查过它不存在.我进行嵌入式和交叉编译,因此有时我的C++ Builder代码被复制到我的嵌入式开发环境或与之共享,我最终会维护两个构建环境.
不是IDE,但C++ Builder没有利用多个CPU来编译代码.但是,有一个第三方工具,你可以花更多的钱来获得这个.它叫做TwineCompile(http://www.jomitech.com/twine.php).使用Eclipse,他们会调用您正在使用的任何编译器(gcc等等)和那些编译器并生成支持-j选项.
C++ Builder附带了一个有限版本的AQTime,它是一个动态代码分析器.花更多钱,你会得到更高级的版本.Eclipse支持许多动态和静态代码分析(也花费了$$),但至少插件就在那里.我们使用Klockworx.
对于像GIT这样的外部源代码控制,我不知道C++ Builder没有支持.Eclipse确实如此.我认为C++ Builder内置了subversion.如果它支持GIT,我永远无法让它工作.当我给它一个git路径时,它告诉我它不理解URL方案.
我写的某些模板代码会导致编译器发生段错误,必须完全重启IDE.这对我来说很难过.你有一个10年以上的编译器,它仍然是segfaulting.我有一段C++模板代码,当我把它带到运行完全相同版本的C++ Builder的工作计算机时,它编译好了,但在我的家用机器上它是段错误的.我绝对相信没有像病毒一样的不利因素......
在编译可能需要很长时间的大型项目时,您无法使用IDE浏览代码.有时您可能会看到编译器警告滚动,您必须等待编译作业完成以检查提到的行或使用其他方法打开文件.
C++ Builder IDE具有项目组的概念,其子项目更多/更少自包含.项目组没有像子项目那样的项目组包含/链接路径的概念.子项目有一个基本的,调试的,释放的路径,其中调试和发布可以从基础继承或阻止,但是在项目组级别没有这个.IDE具有可以继承的全局设置,但它适用于您在IDE中执行的所有操作.因此,无法修改给定项目组,只修改一组子项目的包含/链接器路径.我只是觉得他们本可以做得更好.
C++ Builder的Build输出没有颜色编码,例如,显示红色错误和其他颜色的警告.一切都是黑白的.VC和Eclipse颜色代码,并提供更改各种警告和错误颜色的选项.C++ Builder中的输出选项卡是相同的.在大型项目中,很难用其他噪声来研究编译器警告.在C++ Builder的IDE中,您可以选择警告级别,但这只影响"输出"选项卡中的输出,您仍然会得到其他愚蠢的噪音,比如让我知道它删除链接器状态文件"CleanLinkerStateFiles".
除非您正在进行Windows桌面GUI开发,否则请远离Embarcadero/C++ Builder.我开始在Borland时代使用C++ Builder版本1,并且有一些大型项目在VCL上投入了大量资金,所以我坚持使用它来完成这些项目,但我所有的新项目,我一直在使用Eclipse.
关于C++ Builder的积极评论,VCL非常好.它不是多线程的,但它非常适合快速创建桌面GUI应用程序.我认为在CBuilder中获取基于C++的GUI应用程序比在VS中更快.而且CBuilder似乎有大量免费和付费的GUI组件; 再次以C++为重点.我知道C#+ VS有很多GUI控件.
更新: 我今天遇到的问题与本论坛中提到的问题相同:http: //qc.embarcadero.com/wc/qcmain.aspx?d = 57631
__PRE__
下定决心.这是警告还是神坝错误?
一直滚动到最后,您会发现个人修改ILINK32.EXE以使其再次运行.截至今天早上,我们的版本停止工作.当我们争相理解并知道该如何处理时,我们已经死在水中.
这是您想要依赖的编译器/ IDE吗?再次,这个产品已经存在了十多年,它仍然有这样的问题.我发现这完全不可接受.来自公司的垃圾产品,不会产生麻烦.
unk*_*ulu 14
实际上不是答案,但我会把它留在这里:
Max*_*meG 13
Embarcadero XE没有任何积极意义,既没有老化的IDE,也没有老化的编译器.只有在你被绑定的情况下(遗留软件)或者你想要使用Delphi时才使用它.
对于C++来说,帮自己一个忙,加入21世纪:坚持使用VC++或Qt等更强大,多功能和现代化的东西.
我建议Eclipse.
这个问题实际上是个人意见问题.
我个人非常热爱Visual Studio,我就像瘟疫一样避免它.我对Eclipse的接触仅限于Java,但即便如此,我也很难使用它.
我已经使用C++ Builder 15年了,从v3.0一直到最新的XE6.是的,它有怪癖和局限性,但是一旦你知道如何使用(或围绕)它们,我仍然觉得它对我来说是最容易使用的IDE并且很有效率.也许我对它的体验阻碍了我与其他IDE合作的能力,但也就是这样.我仍然更喜欢C++ Builder.但是我只将它用于Windows开发(VCL非常成熟和强大),我还没有用它进行跨平台开发(FireMonkey仍有一些方法可以进化和成熟).我确实使用了大量的开源项目.是的,有时我必须调整他们的项目和/或代码以使它们编译,但它通常是一次性交易然后它们工作正常.
1.我们有超过1M LOC的解决方案,VS2010可以处理它.我们特别喜欢/ MP开关,用于编译所有可用的CPU内核.
您没有指定您的硬件.如果你还没有运行至少i7-2600 +快速SSD,我建议先尝试硬件升级.
过去我曾经经常使用Borland工具.德尔福相当稳定; C++ Builder更加错误.几年前,我帮助将旧的Delphi项目升级到更新的Delphi IDE,并安装了一些Service Pack.它甚至在Turbo Pascal之后的基本文件IO API中也存在错误.我们不得不降级到以前的版本.我希望C++ Builder的质量不会比VS2010好.
你没有说明究竟什么是慢的.您可能希望将一些项目转换为单独编译的组件.还要确保使用PCH.
如果你滥用C++包含模型,通过在每个单元中包含许多不需要的头文件,也值得研究.如果在预处理之后,Intellisense和编译器必须处理大量代码,那么IDE无法提供帮助.
| 归档时间: |
|
| 查看次数: |
20934 次 |
| 最近记录: |