首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在win32 API和.NET框架之间进行选择

在win32 API和.NET框架之间进行选择
EN

Stack Overflow用户
提问于 2010-09-06 22:47:04
回答 5查看 3.2K关注 0票数 9

我必须为windows开发一个应用程序,可以通过识别手势通过网络摄像头控制鼠标。我将使用vc++ 2008进行开发。但是我很困惑是使用.NET框架还是核心win32 API。性能对我的应用程序非常重要。根据Ivor Horton的“开始Visual C++ 2008”一书,在使用.NET框架时有一个小的性能损失。我想知道惩罚依赖于什么因素,以及在我的应用程序中使用.NET框架是否可行。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-09-06 23:08:36

如果您熟悉Win32接口,请转到Win32接口。它在你的情况下是自然而然的选择,因为你的大部分源代码将是视频捕获,图像处理,算法,以及Windows中的鼠标接口。当您对性能感兴趣时,请靠近硬件,避免使用像.NET这样的厚层。

我相信.NET是用于复杂的业务应用程序,而不是用于实时应用程序或设备驱动程序。

票数 16
EN

Stack Overflow用户

发布于 2010-09-07 05:36:14

除非你是一名非常有经验的C++程序员,否则C#是一种更高效的语言(作为一个有15年以上C++经验和2年C#经验的人来说)。

.Net库提供了比标准C++库更易于使用的大量高质量功能。

因此,我倾向于使用.Net。

如果必须集成复杂的本地库,我还建议使用C++/CLI直接调用它们,而不是使用P/Invoke。这对奇怪的调用很好,但不能让您轻松地访问数据结构或混合本机代码和托管代码。

票数 7
EN

Stack Overflow用户

发布于 2010-09-07 00:42:14

.NET非常适合GUI和非性能密集型领域的常规编程。如果您需要做的不仅仅是简单的图形用户界面,我建议您至少用.NET语言编写这一部分。

在你所描述的程序中,识别手势将是唯一计算密集的部分。控制鼠标的实际过程很简单。因此,只要手势识别部分的性能足以满足您的需求,那么程序的其余部分用什么编写就不再重要了。

第一步,你应该研究一下有哪些库可以进行手势识别或类似的图像处理。(我希望您无论如何都不打算从头开始编写这一部分。)如果您发现任何基于.NET的库声称其性能足以满足您的需求,那么您可以试一试。否则,您最终可能会得到一个基于C或C++或类似的库。无论哪种方式,都可以将这样的东西与基于.NET的程序集成在一起。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3652327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档