我决定更多地使用 C++ 进行本机代码开发。我正在尝试确定使用 CodeGear C++ Builder 2009 还是 Visual Studio 2008 是否会更好。我目前使用Delphi 2007,所以我对C++ Builder 的IDE(与Delphi 相同)以及VCL 和RTL 非常熟悉。

我从来都不是 MFC 的忠实粉丝(从 VS 6.0 第一次使用它开始),但从那以后就没有仔细研究过它。

我有兴趣听取一些对这两种 IDE 有经验的专家的意见,无论它们是否是最新版本。

现在,我倾向于 C++ Builder,因为我相信 VCL 比 MFC 更强大、更容易使用 — 但正如我所说,我已经有一段时间没有使用 MFC 了。我对构建依赖于 .NET Framework 的程序不感兴趣,因为我正在自学本机开发。MFC 仍然是 Windows C++ 的王者吗?或者说WTL或ATL才是最重要的?

有没有 C++ 专家想分享他们的观点?

编辑: :我知道 MFC 不是 Visual Studio 唯一的 gui 工具包。不过,我正在寻找一些基于 GUI 工具包 + IDE 的建议。对于C++ Builder,只有1个真正的选择,那就是C++ Builder + VCL。对于 VS 2008,它是 VS + MFC/ATL/WTL/QT...令我困惑,因为我对它们了解不多。

有帮助吗?

解决方案

这是德尔福的到来,你会发现VCL简单用C ++ Builder来使用。有一些古怪,像C ++不隐瞒事实,TObjects都是真正的指针(德尔福从你隐藏),有些事情就像阵列属性不同的方式访问。

两三年后,我一直在寻找任何出路C ++ Builder中的,但现在,随着最近发布的(和Embarcadero公司收购CodeGear公司的),我很高兴与产品和方向。

您会发现字符串类型和各类潜在的不兼容性和C ++ Builder中相当痛苦的数量,但你会习惯吧! (的std :: string,炭[],wchar_t的[],TCHAR,AnsiString类型,WideString的,和的UnicodeString字符串仅举几例)

个人而言,我会投票给C ++ Builder中 - 因为双向RAD和VCL,虽然它可能不是学习现代C ++成语的最好方法。

其他提示

Visual Studio和MFC是不一样的。我用工作室所有的时间和我避免MFC像瘟疫。可以使用WTL,ATL,Win32的或任何数量的库而不MFC来创建应用程序。

简单的回答是,对于纯C ++开发它必须是VC ++。

要扩大:作为一个纯粹的C ++开发环境,你根本无法击败VC ++,调试器更好,IDE优越(所有恕我直言,当然)。我用它来开发库,我然后从C ++生成器中使用的,因为这些原因。

但是一旦开始到UI开发,或任何可以解决使用VCL或组分C ++ B是更好的选择。相比于VCL,MFC或ATL是可怕通过比较,并让让你使用.NET,这可能是一个更好的选择,但不是

我不知道,我建议你使用构建C ++ B或Delphi的基础上,近几年从供应商的方向“的新产品。然而,似乎是改好了,但直到一个多一点的时间已经过去了,很难讲的承诺如何转化为现实。

如果您在Windows做纯粹的C ++开发那么它是很难被击败VS.编译器是快速,相当符合标准并产生很好的优化代码。调试器是最好的任何平台上。所述IDE是OK。

这也清楚地在Windows上使用最广泛支持的编译器工具链。下载任何开源项目/库,如果是支持的Windows,它可能已建成并使用VS.测试其受欢迎程度也保证了它是最有用的在简历中。

什么是生成器给你?一个合理的GUI库。嗯,这是好的,但也有许多其他像样的GUI工具包在那里(wxWidgets的,GTK,Qt的等)。许多都是开源和跨平台。

不过,这几天我发现它更好地调整自己的应用程序提供了一个API,然后建立在它之上的图形用户界面在不同的语言。 C ++的强度是在GUI开发。至少不是今天...

我会选择 - 推荐 - VS在生成器

我没有使用C ++ Builder中多年,但在C ++调试的话题时,Visual Studio 2008的出路在其他IDE和以前VS面前,特别是如果你使用STL容器,因为它可以很容易地检查其内容

然而,在GUI上侧,C ++是现在非常为微软的第二级语言。未来的道路是WPF和 C ++不支持作为XAML-亲切的语言我们将继续在C ++ / CLI的投资,使开发人员能够将本地C ++资产托管领域,反之亦然。我们认为,纯.NET开发利用.NET做得最好侧重语言如C#或VB。在C ++ / CLI投资将主要在天然管理互操作的区域。

所以,创建一个现代前瞻性的C ++图形用户界面,你最好的选择可能确实是VCL - 如果VCL继续使这种可能的; - )

C ++ Builder是远远大于MS-VS优越,当涉及到基于UI开发和数据库面向应用。 MFC很烂!然而VS具有更好的调试功能。

我给第二个,你已经知道德尔福去为C ++ Builder中。 MFC由于VS6几天一直没有太大的改变,因此,使用MFC仍然看起来像狗屎编写的代码。然而,VS已改变且现在是相当不错的IDE。

另外,请注意,C ++ Builder是不作为产品线稳定。还有在过去里便没能得到维护/它的未来并不明确等,所以你需要冒风险的,如果你想建立一些持续。

只是为了它的地狱,我们可以扔在日食进来呢?结果 我刚刚发现在日食工作比在Visual Studio中更好的工作。

除非你使用VS2008与WinForms的,图形用户界面的支持是通过Windows模板(通常从资源),这是旧帽子,你可能不希望使用。因此,在VS2008的GUI支持并不是特别的。

至于GUI工具包,也许是看到什么是好的GUI /窗口小部件工具包

好了,你可以使用Eclipse + MinGW的+ Qt4的+ QT Eclipse的集成,你会得到所有的东西:调试器,可视化GUI设计,等等。

注意,Qt4的是双重许可:开源和商业许可

您也可以使用Visual Studio(即使快递)相结合的Qt4和使用所有goodnes VS给你。

有关我的Qt4是在生成器去和VS的方式。

几年前我很喜欢 C++ Builder。太棒了。它的 VCL 比 VS 的蹩脚 MFC 好得多。然后事情每年都在变化。

Builder 一直在走下坡路;1.Builder 尚未更新任何实际功能。2.Borland放弃了在C ++中重写VCL的想法,以与Kylix和Builder 3一起使用。CodeGear 的混乱和 Builder 的不确定未来让很多人放弃了该产品。

VS 越来越好;1.IDE得到了很多改进。Windows平台上最不符合标准的编译器的编译器成为最符合标准的(当然不计入MINGW上的GCC)3。.NET 出现,出现了托管 C++,然后是 C++/CLI,使得在 C++ 中使用该框架成为可能

我们有新的,强大的球员1。日食2。Qt创建者

和新的 GUI 工具包

  1. wxWidgets
  2. Qt4 现在也有开源许可证

总结一下;Builder 死了,因为 Borland

  1. 我觉得德尔福太棒了,他们真的不需要任何其他东西来赚钱
  2. 陷入了Java炒作,投入了太多资源
  3. 不了解 C++ 的强大功能,而是堆栈到 pascal,它一直是学术语言,没有用它创建真正的产品

当它涉及到的Windows开发没有什么上衣的Visual Studio。这是非常功能丰富,具有优良的调试器,更不用提了广大用户的社区,以帮助您与您可能遇到的任何问题。如果一家公司对自己的操作系统的开发工具是不是最好的话,我会担心自己在软件领域的地位。但是,如果你不需要额外的功能和绝对需要使用拖放(除了MFC)一个RAD工具C ++ Builder是不是太落后了。之前使用Delphi的环境是你只是一个优势。

在一件事最后C ++ Builder中通过CodeGear的 - 我的意思是2009年的版本 - 是它的更新可以真正让你讨厌这个IDE。结果已经安装了第二个更新后,我发现的if / else块亘古不变的正常工作。它可以进入IF语句,但不能进入别的一个 - 它不列入视乎情况而定 - 这种语言指令干脆停止在所有的工作。它带我去弄清楚需要的时间约为两三个小时 - 我开始开发VS所需的Win32应用程序,我认为它比CodeGear的产品更可靠。 第二个功能我不喜欢你不能老是关闭Unicode支持,并有权使用的Win32函数ANSI版本明确标明(例如SendMessageA(...)),这是很无聊的。 我几乎没有在最后期限前使用VS2008来完成这项工作。点击 这只是我的经验,做出选择是你的

尝试拉扎勒斯代替。一写多。运行在多个平台上。任何人从Delphi和Kylix的背景的人会感到非常熟悉这一RAD工具。至于未来,它是开源的一个强大的社区,发展将进行不商业约束。

有关本机C ++开发我不想为使用C ++生成器也不VS.这些IDE是用于与他们的框架中使用的所有优化。

我宁愿选择Eclipse中,代码::块或Codelite。这些IDE的未针对任何框架优化,可以在severeal平台几个编译器之间进行切换。

2012几乎结束。我是一个用Borland C ++用户然后swithced到VC ++ 6.0。最近有一个要求ffrom谁想要为他们的产品,并没有一个GUI端的客户希望在.NET框架的依赖性。所以我探讨了Embarcadero公司的RAD Studio XE2。

当涉及到C ++ RAD开发,我想即使没有MSVC ++接近它。这就像一件轻而易举的事。虽然我发现的问题编译模板时。例如,如果你定义一个函数对象,并希望构造与仿函数调用你不能做到这一点在C ++中乙结合起来,你必须创建一个对象,然后调用seperately函子。还有其他问题,也因为我不能完全编译波科库。

我通过在VC创建的DLL ++和从C ++乙前端称他们发现该溶液中。提供最佳的都有。

我希望Embarcadero公司的标准很快赶上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top