我想使用用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#中使用REST API
- 5. 在C/C++中调用MATLAB API
- 6. 使用iRODS C++ API
- 7. 如何在c中使用天气api#
- 8. 如何在C++中使用Oauth? Etrade API
- 9. Python C-API:在字典中使用'PySequence_Length'
- 10. 在C#中使用twitter api登录#
- 11. 在C#中使用谷歌频道API
- 12. 在c#中使用彭博API?
- 13. 如何在Java中使用C API? JNI?
- 14. 在C#中使用.jar java库API?
- 15. 如何在MVC4中使用Companyhouse API#C#
- 16. 如何在C++ api中使用NDArray?
- 17. 在C++中使用Hbase Thrift2 API
- 18. 在.NET中使用ArcSDE API(C#)
- 19. 在C#中使用Windows API函数
- 20. C - 如何在Linux中使用API库
- 21. 如何在Android中使用C++ API?
- 22. C++:在API函数中使用std :: wstring
- 23. 在C#.NET中使用Yahoo API的GeoCode
- 24. 如何在C#中使用Bugzilla API
- 25. 如何在C++项目中使用C gnutls API
- 26. 如何在z/OS上使用C++中的C套接字API
- 27. 在C/C++ Windows API中使用Void函数
- 28. 在c#中使用Api发送请求到c#
- 29. 在Visual Studio中使用Unix Api编写C/C++?
- 30. 如何在C/C++中使用net-snmp MIB API列出SMIv1 MIBS?
+1这正是我过去所做的。它使我的生活变得更加容易,特别是因为托管C++并不困难。 – 2009-11-06 19:59:11