我想在c#窗體表單應用程序中使用我的C++類。將C++類轉化爲C#Windows窗體類的C++類
我在頭文件(.h和.cpp)中做了一個C++類,然後我做了一個win32項目,它應該成爲一個DLL。
然後,我想在我的C#窗體窗體項目中使用它,但我不知道把它放在哪裏或放什麼。
This is the StackLibrary.h and .cpp
我想在c#窗體表單應用程序中使用我的C++類。將C++類轉化爲C#Windows窗體類的C++類
我在頭文件(.h和.cpp)中做了一個C++類,然後我做了一個win32項目,它應該成爲一個DLL。
然後,我想在我的C#窗體窗體項目中使用它,但我不知道把它放在哪裏或放什麼。
This is the StackLibrary.h and .cpp
你必須寫在C++/CLI(RIF https://msdn.microsoft.com/en-us/library/ms235281.aspx。)包裝: 編寫C++中的包裝,用C編寫的DLL ++/CLI,然後添加到您的C#項目你不會有任何錯誤:
StackLibrary DLL(本機C++)< - >包裝DLL(C++/CLI)< - > C#項目
我應該用一個包裝器來替換stacklibrary dll嗎? –
你可以將它們分開:這樣你就可以在c#(通過包裝器)和其他語言(例如C++,VB,php,...以及可以導入DLL的所有語言)中使用你的StackLibrary DLL。您可以轉換StackLibrary項目,添加包裝並使用C++/CLI選項進行編譯。在這種情況下(stacklibrary dll替換),您將只能將該DLL添加到.Net/Mono項目中。 – Fil
謝謝你的幫助先生,我會盡力解決這個問題 –
[STAThread]歸屬到M ain方法,你不能分開它。寫入DllImport高於STAThread。 – 2016-07-26 13:19:07
如何在寫入STATHread之上的DllImport後使用函數? –
在DllImport下面,您必須編寫函數名稱,請參閱示例:https://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx – 2016-07-26 13:23:55