使用一些图形编辑器功能(C ++和(VB或Win32))开发小型和快速GUI应用程序的最佳方法是什么?

时间:2010-01-16 00:16:10

标签: winapi user-interface

它必须花费一些时间进行计算,所以我需要它尽可能快地工作。

还想过Delphi。所以。这是一个品味(或习惯)的问题,那么你可以给我什么建议?

4 个答案:

答案 0 :(得分:25)

让我们试着分析它们:

C ++

优点:

  • 生成本机代码,因此速度很快。
  • 允许非常低级别的访问权限进行优化。
  • 可以高度跨平台。
  • 更容易出现难以理解的代码。 (就个人而言,我认为像cdecl这样的实用程序甚至是EXISTS,这是一个很好的信号,表明C的某些部分并不是可读的 - 而且由于C ++主要是C的超集,所以这同样适用。)

缺点:

  • 你需要自己管理很多,如果你不小心以某种方式管理所有这些(例如智能指针),这很容易引入内存泄漏等。
  • 编译是sloooow。

的Delphi

优点:

  • 快速编译。
  • 默认情况下生成没有运行时依赖项的本机代码。
  • 如果您愿意,可以轻松集成低级程序集。
  • 你通常不需要弄乱指针,但如果你愿意,你可以。
  • 非常好的GUI构建器,VCL是一个很好的工具箱,可以满足您的大部分基本组件需求。
  • Delphi代码通常很容易阅读。

缺点:

  • Delphi并不像语言那么广泛,因此引用可能是一个问题。
  • 如果你需要与外部DLL接口,你不太可能找到允许你调用DLL方法的完成的Delphi代码;你更有可能需要自己编写所需的声明(显然有工具,但我不知道它们有多好用......)

VB6

优点:

  • 那里仍然有很多参考文献。
  • 让我们面对现实,虽然我们可能不喜欢这种语言,但它很容易阅读。

缺点:

  • 极度过时的环境。
  • 不再支持。
  • 不适合需要过高效率的代码。

VB.NET(也是C#)

优点:

  • 由于.NET框架的体系结构,理论上你可以获得更高的性能,因为它能够优化运行它的特定CPU的代码。
  • 您可以使用的巨型库(.NET框架)。
  • 为您管理内存。这意味着在那里混乱的东西要困难得多。
  • 流行语言,有很多参考文献。

缺点:

  • 为您管理内存。这意味着某些性能方面无法控制。
  • 你不能真正下载到低级汇编程序代码,因为它被编译为中间格式。当然,你可以在IL中实现自己的方法,但通常没有像汇编程序那样获得的东西。

我个人投票给Delphi,因为它可以让我快速构建快速应用程序,并且最新版本在功能集和IDE的可用性方面得到了很大改进。

答案 1 :(得分:15)

选择很简单。德尔福,放下手。 C ++具有您需要的高性能计算能力,但没有良好的GUI构建器。 VB有一个很好的表单设计器,但是在VB6或.NET版本中获得高性能的好运!

Delphi编译为非常高效的本机代码,如果您需要在该级别调整计算,甚至还包括内联汇编程序。它有一个非常易于使用的表单设计器。只要你只需要编译支持Win32,Delphi就是明显的选择。 (并且这种限制看起来很快就会发生变化,这与Delphi团队最近所说的一样......)

答案 2 :(得分:0)

我不得不同意梅森的观点。如果您正在编写需要快速执行且易于构建的Windows GUI应用程序,那么C#就是您的选择。使用.NET 3.5,您可以通过.NET运行时获得非常快速的计算,并且它具有出色的表单编辑支持。此外,如果您有使用C ++的经验,C#很容易上手。

C#的另一个好处是,如果你发现你的计算速度太慢,你总是可以用C ++编写计算成本高昂的代码,将它包装在DLL中,并用C#调用它。

总而言之,C#在快速构建Windows应用程序的同时还能在不牺牲太多性能的情况下击败其他任何东西。

作为最后一个声明,我想说我不是微软支付的,我一般都讨厌托管语言,直到今天我还是尽可能避免编写C#因为我更喜欢C ++。也就是说,C#的实用性使我相信它可以用于任何需要快速完成或需要用户界面的东西,因为摆弄MFC,WTL,ATL或COM完全糟糕。

答案 3 :(得分:0)

如果您之前使用过某种语言,那么这是最好的选择。与短期内大多数语言的收益相比,学习新环境的时间很长。

那就是说 - 如果你计划在一个环境中工作超过,我不知道,一年后学习一个新的是有意义的。