我想使用用C++编写的API。它涉及包括头文件和库。我如何在C#应用程序中使用此API?在C#中使用C++ API
3
A
回答
5
最简单的方法是在C++/CLI中写一个'shim'程序集。这使您可以将非托管界面和托管代码混合在一起,以便您可以将非托管API“翻译”成托管代码中可以使用的一些API。
这里有很多资源,深入的概述请参阅C++/CLI Rationale以及有关互操作性问题的讨论,请尝试在.NET to C++ Bridge上发布此信息。
2
有几个选项可以做到这一点。
作为Rob Walker mentioned,最简单的方法是使用C++/CLI制作托管包装。
但是,还有其他选择。
您可以使用SWIG为C++ API生成C#包装器。这工作相当好,但是更难的选择。 (不过,如果你想为C++ API制作其他语言包装器也很好,因为你可以用一套API来做C#/ .net,python,Java等。)
你可以使用Platform Invoke (P/Invoke)访问您的C++书面DLL。如果你的C++ DLL有一个C API,那么这很容易,但是否则可能是这样。
相关问题
- 1. 在C#中使用Bing API#
- 2. 在C#应用程序中使用C或C++ API
- 3. 在C/C++/Java API上使用Python?
- 4. 如何在C++中使用Oauth? Etrade API
- 5. Python C-API:在字典中使用'PySequence_Length'
- 6. 在C#中使用谷歌频道API
- 7. 如何在MVC4中使用Companyhouse API#C#
- 8. 如何在Android中使用C++ API?
- 9. C++:在API函数中使用std :: wstring
- 10. 如何在Java中使用C API? JNI?
- 11. 在.NET中使用ArcSDE API(C#)
- 12. 如何在C++ api中使用NDArray?
- 13. 如何在C#中使用Bugzilla API
- 14. 在C#中使用Windows API函数
- 15. 在C#中使用.jar java库API?
- 16. 如何在z/OS上使用C++中的C套接字API
- 17. 在c#中使用Api发送请求到c#
- 18. 在Visual Studio中使用Unix Api编写C/C++?
- 19. 如何在C++项目中使用C gnutls API
- 20. 在C#中使用C++类
- 21. 在C#中使用C++ dll#
- 22. 在C#中使用C++库
- 23. 在C++中使用C库
- 24. 在C/C++中使用Apache ActiveMQ
- 25. 在c文件中使用C++类
- 26. 在Objective-C中使用C++类C
- 27. 使用MinGW的Mosek C-API
- 28. 如何使用C API
- 29. 使用智能表API C#
- 30. Python C API:使用PyEval_EvalCode
+1这正是我过去所做的。它使我的生活变得更加容易,特别是因为托管C++并不困难。 – 2009-11-06 19:59:11