Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 开发具有一些图形编辑器功能的小型快速GUI应用程序的最佳组合是什么+;和(VB或Win32)?_Winapi_User Interface - Fatal编程技术网

Winapi 开发具有一些图形编辑器功能的小型快速GUI应用程序的最佳组合是什么+;和(VB或Win32)?

Winapi 开发具有一些图形编辑器功能的小型快速GUI应用程序的最佳组合是什么+;和(VB或Win32)?,winapi,user-interface,Winapi,User Interface,它必须进行一些耗时的计算,所以我需要它尽可能快地工作 也想到了德尔菲。所以这是不是一个品味(或习惯)的问题,你能给我什么建议 选择很简单。德尔菲,把手放下。C++有强大的计算能力,但没有好的GUI构建器。VB有一个很好的表单设计器,但是祝你好运,无论是在VB6还是.NET版本中,都能从中获得高性能 Delphi编译为非常高效的本机代码,如果需要在该级别调整计算,甚至还包括一个内联汇编程序。它有一个非常易于使用的表单设计器。只要您只需要编译支持Win32,Delphi就是一个明显的选择。(从德尔福

它必须进行一些耗时的计算,所以我需要它尽可能快地工作


也想到了德尔菲。所以这是不是一个品味(或习惯)的问题,你能给我什么建议

选择很简单。德尔菲,把手放下。C++有强大的计算能力,但没有好的GUI构建器。VB有一个很好的表单设计器,但是祝你好运,无论是在VB6还是.NET版本中,都能从中获得高性能


Delphi编译为非常高效的本机代码,如果需要在该级别调整计算,甚至还包括一个内联汇编程序。它有一个非常易于使用的表单设计器。只要您只需要编译支持Win32,Delphi就是一个明显的选择。(从德尔福团队最近的言论来看,这种限制似乎很快就会改变……

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

另一个附加的好处是,如果你发现你的计算太慢,你可以在C++中编写计算昂贵的代码,把它包在DLL中,并从C中调用它。 总之,在快速构建Windows应用程序而不牺牲太多性能方面,C#胜过其他任何东西


作为最后的一句话,我想说我不是微软支付的,我一般都讨厌管理语言,到今天我尽量避免写C语言,因为我更喜欢C++。也就是说,C#的实用性让我相信它可以用于任何需要快速完成或需要用户界面的事情,因为摆弄MFC、WTL、ATL或COM完全是糟糕透顶的事情。

让我们试着分析一下:

C++ 优点:

  • 生成本机代码,因此速度很快
  • 允许非常低级别的访问,以全力进行优化
  • 可以是高度跨平台的
  • 更容易出现不可读的代码。(个人认为,我认为,像CDECL这样的工具甚至是存在的,这是一个很好的迹象,表明C的某些部分不是可读的,而且因为C++主要是C的超集,所以这里也同样适用)
缺点:

  • 你需要自己管理很多东西,如果你不小心以某种方式管理这些东西(例如,智能指针),很容易导致内存泄漏等
  • 编译是慢的
德尔菲 优点:

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

  • Delphi不是一种广泛使用的语言,因此引用可能是一个问题
  • 如果您需要与外部DLL接口,则不太可能找到允许您调用DLL方法的完整Delphi代码;您更可能需要自己编写所需的声明(显然,有一些工具,但我不知道它们工作得如何……)
VB6 优点:

  • 还有很多参考文献
  • 让我们面对现实吧,虽然我们可能不喜欢这种语言,但它很容易阅读
缺点:

  • 非常陈旧的环境
  • 不再受支持
  • 不适用于需要过于高效的代码
VB.NET(以及C#) 优点:

  • 由于.NET framework的体系结构,从理论上讲,您可以获得更高的性能,因为它能够针对正在运行的特定CPU优化代码
  • 可供您使用的巨大库(.NET framework)
  • 内存基本上是为您管理的。这意味着要把事情搞砸要困难得多
  • 流行语言,有很多参考资料
缺点:

  • 内存基本上是为您管理的。这意味着某些性能方面超出了您的控制范围
  • 您不能真正地使用低级汇编代码,因为它是编译成中间格式的。当然,您可以在IL中实现自己的方法,但通常不会像使用汇编程序那样获得太多好处

我个人投票支持Delphi,因为它让我能够快速构建快速的应用程序,而最新的版本在功能集和IDE的可用性方面都有了很大的改进

如果你以前使用过一种语言,那是最好的选择。与大多数语言在短期内的收益相比,学习新环境的时间是长的


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

+1:你可以使用免费的Pascal和Lazarus重新编译它,并使它具有可移植性;)。稳定性一般是可以的。遇到功能缺失的问题是一个更大的问题。然而,这在很大程度上取决于情况。如果选择是C++或C语言,我同意,但是Delphi几乎完全按照你所列出的,但是直接生成本地代码。如果您需要更高的性能,您不需要使用DLL路径—您只需在原始方法所在的文件中用汇编语言编写该方法即可。就连COM在Delphi中也很容易使用。我想+1:因为为什么有人会因为说C而被否决?只是出于好奇,你试过Delphi吗?C#基本上是用C语法用托管语言Delphi重写的