Dot-Net

在 win32 API 和 .NET 框架之間進行選擇

  • September 6, 2010

我必須為 Windows 開發一個應用程序,它可以通過辨識手勢來通過網路攝像頭控制滑鼠。我將使用 vc++ 2008 進行開發。但我很困惑是使用 .NET 框架還是核心 win32 API。性能對我的應用程序非常重要。根據 Ivor Horton 所著的“Beginning Visual C++ 2008”一書,使用 .NET 框架會帶來小的性能損失。我想知道懲罰取決於哪些因素,以及為我的應用程序使用 .NET 框架是否可行。

如果你熟悉 Win32 API,那就去 Win32 API。這是您的自然選擇,因為您的大部分原始碼將是影片擷取、圖像處理、算法和 Windows 中的滑鼠介面。當您對性能感興趣時,請靠近硬體,避免像 .NET 這樣的厚層。

我相信 .NET 用於復雜的業務應用程序,而不是用於實時應用程序或設備驅動程序。

除非您是一位非常有經驗的 C++ 程序員,否則 C# 是一種效率更高的語言(以擁有超過 15 年 C++ 經驗和 2 年 C# 的人的身份說話)。

.Net 庫提供了比標準 C++ 庫更易於使用的大量高質量功能。

所以,我會使用.Net。

如果必須集成它們,我還建議使用 C++/CLI 直接呼叫複雜的本地庫,而不是 P/Invoke。這對奇數呼叫很有用,但不會讓您輕鬆訪問資料結構或混合本機程式碼和託管程式碼。

引用自:https://stackoverflow.com/questions/3652327