2011-10-17 119 views

回答

2

您不添加對C++庫的引用,僅適用於.NET程序集。你需要的是使用P/Invoke的平臺互操作。 MSDN這裏有一堆的信息: -

http://msdn.microsoft.com/en-us/library/aa288468(VS.71).aspx

這基本上意味着你必須編寫調用導出的函數外部庫方法存根。

還有C++/CLI方式可以更好的取決於您的C++項目設置,但是我個人更喜歡傳統的Windows API函數導出方式。

+0

另一個很好的資源是http://en.wikipedia.org/wiki/Platform_Invocation_Services和http://pinvoke.net/ – Vamsi 2011-10-17 12:38:49

4

對於在C#中使用本地C++庫,您大多將不得不爲此創建一個C++/CLI包裝。只要您的DLL的API包含簡單的類似C的函數,P/Invoke就可以,但是當API包含真正的C++類時,C++/CLI對於該任務來說更好。