問題是 - 我想用C++編寫一個模板類,將它放在一個DLL中,然後從我的C#項目中調用它。可能嗎?您能否提供關於如何做的參考資料或文章?
編輯
我想寫成DLL 非託管 C++我可以在我的C#項目中使用C++編寫的DLL嗎?
2
A
回答
6
模板類無法導出。直到有人實例化它才存在。你應該明確地實例化它,然後像往常一樣導出它。
1
我認爲這個問題可以幫助你:
1
您可以像創建任何其他DLL一樣創建它--DLL背後的主要思想是它可以用任何編程語言創建,並且可以與其他任何其他DLL一起使用。請記住,C++是非託管的,因此必須謹慎對待。看看例如here(MSDN論壇)。
一般情況下,使用的DllImport裝飾從DLL導入功能文件您已經用C++創建。從MSDN例如:
using System.Runtime.InteropServices; // DllImport
public class Win32 {
[DllImport("User32.Dll")]
public static extern void SetWindowText(int h, String s);
}
1
通過使用C++/CLI,可以暴露你的C++類的,他們使用兼容功能的.NET類。但是,您不能公開您的模板定義,但可能能夠使用專門用於該模板的具體類。
當您構建C++/CLI類時,您可以像引用其他.NET程序集一樣引用它。
0
據我記得有一點問題。 有可能讓C#使用C++ Dll(託管和非託管) 非託管C++可能使用C#Dll(您需要通過COM和界面執行此操作)。
我去看看我能找到的鏈接,告訴它所有的詳細信息
相關問題
- 1. 我們可以使用在iphone項目中使用C++編寫的庫嗎?
- 2. 我可以在ActivePivot中使用我的C++ DLL嗎?
- 3. 我可以在VS 2010 C++項目中使用VS 6.0中的Dll嗎?
- 4. 我可以使用xbuild在Linux上編譯Visual C++項目嗎?
- 5. Excel COM加載項DLL的 - 我可以直接使用C#嗎?
- 6. 我可以編譯我的C++類到靜態庫(.a)中以便在我的iPhone項目中使用嗎?
- 7. 我們可以在C#項目中使用COM對象嗎?
- 8. 我可以在我的Xamarin iOS和Android項目中使用自己的DLL嗎?
- 9. 如何在其他asp.net項目中使用C#編寫的DLL?
- 10. 在Java項目中使用C#編寫的DLL
- 11. 我可以在C#中使用NetUserGetInfo嗎?
- 12. 我可以在C++中使用MiGLayout嗎?
- 13. 我可以在cgo中使用C++嗎?
- 14. 我可以在C++中使用UDK嗎?
- 15. 我可以在C#項目上使用.rc資源文件嗎?
- 16. 你可以在UWP中的C#代碼中使用C++ DLL嗎?
- 17. 我可以從c#.net dll中調用vb.net dll嗎?
- 18. 我可以在常規.NET項目中使用.NET Core編寫的Nuget包嗎?
- 19. 在C++編寫的ExcelVBA中使用DLL
- 20. 我可以在我的項目中使用Magento的類嗎?
- 21. 我可以從程序(DLL)調用的C++或C編譯器
- 22. 我可以使用C#編寫LXDE面板插件嗎?
- 23. 我們可以使用c#編寫NNTP服務器嗎?
- 24. 在C++項目中使用c DLL
- 25. 我可以在我的項目中使用科幻效果嗎?
- 26. 我可以在Orchard CMS中使用我的Ninject .NET項目嗎?
- 27. 我可以在我的項目和Nuget包中使用DeepZoomTools.dll嗎?
- 28. 我可以在我的項目中使用create-react-app嗎?
- 29. 我可以在我的ASP.net網站/項目中使用jQuery嗎?
- 30. 我可以在我自己的項目中使用Confluence的編輯器嗎?
+1,但你應該加一點使用的DllImport – 2009-07-23 12:38:51