.net - 是否有任何理由在 .NET 上使用 Win32 API(C 或 C++)?

标签 .net winapi api

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 提供事实和引用来回答它.

5年前关闭。




Improve this question




我正在完成我的暑期工作,为我们的行李扫描仪编写图形软件。一切都在 .NET 或 MFC 中完成,使用纯 C++ 进行硬件通信(我不做任何硬件的事情)。我有时会求助于 Win32 API 调用,例如 SendMessage 来提高表单或控件的性能。我只上了一年的 CS 类(class)(全部用 C 语言),但我对 Win32 API 很着迷——它比我想象的更大更强大。

.NET 是否只是隐藏了 Win32 API 的所有“乏味”或底层工作?最终的软件是否会消耗更多系统资源或在 .NET 中执行速度较慢?

最佳答案

.Net 通常使开发更容易。它通过提供一个系统来做到这一点,该系统使开发人员的常见事件减少了工作量。

我喜欢在 .NET 中工作。在它可用之前,我主要使用 MFC 和 Win32 编写一个用 C++ 编写的 GUI。当我切换到 .NET 时,我不得不完全修改我的估计,因为我可以更快地完成工作!

回答您的实际问题:在一些不太常见的开发场景中 .NET 没有帮助(有些人可能会说它会妨碍您)。这些通常涉及硬件通信的低级使用或微调的 COM 编程。

请注意,您可以在 C++ 中为 .NET 进行开发,让您可以轻松地在 Win32 和 .NET 之间进行切换。 (当您开发到 CLR 时,它不是标准的 C++,但也不难发现差异。)

如果没有您可以实际测试的实际场景,请不要考虑性能。有关 .NET 和 C++ 在同一任务上的有趣性能比较,请查看此处的博客条目(和链接!):http://blogs.msdn.com/b/ricom/archive/2005/05/10/416151.aspx

关于.net - 是否有任何理由在 .NET 上使用 Win32 API(C 或 C++)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3514887/

相关文章:

c# - 在 C# 中以 O(log n) 最坏情况搜索数组中的特定字符串

java - 控制 Java 中的类可见性

javascript - LUIS API - 是否有测试话语的端点?

.net - Thread.Abort 和替代方案

c# - 在类似 eBay 的系统中使用的最佳搜索引擎 (.NET)

.net - 是否可以在 MSBuild 中计数?

c++ - 如何将文本输出到另一个已经打开 C++ 的控制台

C++:有没有办法以编程方式检查我的打印机是喷墨打印机还是激光打印机?

delphi - Windows XP/7 复制文件 Hook

json - Feedly 如何解析此 RSS Feed 中的图像?