Я хотел бы использовать API, написанный на C++. Он включает в себя файлы заголовков и библиотеки. Как я могу использовать этот API в приложении C#?Использование C++ API в C#
ответ
Самый простой способ - написать сборку «прокладки» в C++/CLI. Это позволяет смешивать неуправляемый интерфейс и управляемый код вместе, чтобы вы могли «переводить» неуправляемый API в часть, которая потребляется в управляемом коде.
Есть много ресурсов, чтобы получить подробный обзор, см. C++/CLI Rationale, и для обсуждения вопросов взаимодействия попробуйте этот пост на .NET to C++ Bridge.
Есть несколько вариантов для этого.
Самый простой, как Rob Walker mentioned, - использовать C++/CLI для создания управляемой оболочки.
Однако есть и другие варианты.
Вы можете использовать SWIG для генерации C# оберток для API C++. Это работает достаточно хорошо, но это более сложный вариант. (Хорошо, если вы хотите также сделать другие языковые оболочки для вашего C++ API, тем не менее, поскольку вы можете делать C# /. NET, python, Java и т. Д. С помощью одного набора API.)
Вы можете использовать Platform Invoke (P/Invoke) для доступа к вашей написанной на C++ DLL. Это намного проще, если у вас есть C API для вашей C++ DLL, но это возможно в противном случае.
- 1. Использование Python в C/C++/Java API?
- 2. Использование C++ API в Java
- 3. Использование API Bloomberg в C#?
- 4. Использование Bing API в C#
- 5. Использование контекста в C++ API
- 6. Использование API Facebook в C#
- 7. Использование C или C++ API в приложении C#
- 8. Использование Mysql C API для кодов C++
- 9. Использование API Excel C (XLL)
- 10. API Python C: Использование PyEval_EvalCode
- 11. Использование функций API Windows API C++
- 12. Использование API заголовков Linux, сделанные для C в C++
- 13. Использование функции Void в C/C++ API Windows
- 14. Использование ArcSDE API в .NET (C#)
- 15. Использование API окон CreateDirectory в C++
- 16. Использование функций API Windows в C#
- 17. Использование embeddedFrameCounter в API-интерфейсе FlyCapture2 C++
- 18. Использование API Google Channel в C#
- 19. Использование планировщика в Web API usung C#
- 20. C++: использование std :: wstring в функции API
- 21. Использование BigDecimal рубина в C API
- 22. Использование Embedly api regex в C#
- 23. Использование API LinkedIn в приложении C#
- 24. Использование XGBOOST в C++
- 25. GDAL API в C/C++
- 26. Использование wmemset в C++
- 27. Использование очереди в C#?
- 28. Использование C++ dll в C#
- 29. Использование библиотеки C в C++
- 30. Использование C структуры в C#
+1 Это именно то, что я делал в прошлом. это сделало мою жизнь намного легче, тем более что управляемый C++ не так уж и трудный. –