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

nis*_*ant 8 .net c++ windows winapi

我必须开发一个Windows应用程序,通过识别手势可以通过网络摄像头控制鼠标.我将使用vc ++ 2008进行开发.但我很困惑是否使用.NET框架或核心win32 API.性能对我的应用程序非常重要.根据Ivor Horton撰写的"Beginning Visual C++ 2008"一书,使用.NET框架会产生很小的性能损失.我想知道惩罚所依赖的所有因素,以及将.NET框架用于我的应用程序是否可行.

mmo*_*nem 15

如果您熟悉Win32 API,那么请转到Win32 API.这是您自然的选择,因为您的大多数源代码都是视频捕获,图像处理,算法以及Windows中鼠标的接口.当您对性能感兴趣时,请更接近硬件,避免使用像.NET这样的厚层.

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


And*_*ent 7

除非你是一位非常有经验的C++程序员,否则C#是一种更高效的语言(作为拥有超过15年C++经验和2年C#经验的人).

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

所以,我会使用.Net.

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