C++로 작성된 API를 사용하고 싶습니다. 여기에는 헤더 파일과 라이브러리가 포함됩니다. C# 응용 프로그램에서이 API를 어떻게 사용할 수 있습니까?C#에서 C++ API 사용
3
A
답변
5
가장 쉬운 방법은 C++/CLI에 'shim'어셈블리를 쓰는 것입니다. 이를 통해 관리되지 않는 인터페이스와 관리 코드를 함께 사용하여 관리되지 않는 API를 관리 코드에서 사용할 수있는 API로 '변환'할 수 있습니다.
많은 리소스가 있습니다. 자세한 내용은 C++/CLI Rationale을 참조하고 interop 문제는 .NET to C++ Bridge에 게시하십시오.
2
몇 가지 옵션이 있습니다.
가장 쉬운 방법은 Rob Walker mentioned으로 C++/CLI를 사용하여 관리되는 래퍼를 만드는 것입니다.
그러나 다른 옵션이 있습니다.
SWIG을 사용하면 C++ API에 대한 C# 래퍼를 생성 할 수 있습니다. 이것은 적절하게 작동하지만 더 어려운 선택입니다. (한 세트의 API로 C#/.NET, Python, Java 등을 할 수 있기 때문에 C++ API에 다른 언어 래퍼를 만들고 싶다면 유용합니다.)
Platform Invoke (P/Invoke) C++로 작성된 DLL에 액세스 할 수 있습니다. C++ DLL 용 C API를 사용하면 훨씬 쉽지만 그렇지 않은 경우 가능합니다.
관련 문제
- 1. C에서 C# (.NET) API 호출
- 2. C# VB6 API 사용
- 3. objective-c에서 C++ 클래스 사용
- 4. .NET에서 ArcSDE API 사용 (C#)
- 5. C#에서 Bing API 사용
- 6. Linux/Windows의 C/C++ 메모리 사용 API
- 7. (Windows) C에서 API 호출 모니터링
- 8. C에서 프린터 사용
- 9. C에서 argv 사용?
- 10. C에서 단축키 사용 #
- 11. C에서 nullable 형식 사용
- 12. C에서 SHA1 사용
- 13. C에서 무료() 사용
- 14. C# Twitter API, 래퍼를 사용 하시겠습니까?
- 15. C# .NET 응용 프로그램에서 WHMCS API 사용
- 16. Win32 Crypto API 사용
- 17. C# 응용 프로그램에서 C 또는 C++ API 사용
- 18. C에서 폴더 경로에/또는 \\ 사용
- 19. SWIG를 사용하여 C에서 객체 지향 API 만들기
- 20. Windows API 사용
- 21. C에서 가상 함수의 실제 사용 #
- 22. C에서 sendInput을 사용하여 마우스 사용
- 23. C에서 루프의 strtok() 사용?
- 24. Objective C에서 '^'기호 사용
- 25. C에서 재귀 사용 #
- 26. Objective C에서 extern 사용
- 27. Objective C에서 CString 사용
- 28. Objective-C에서 프로토콜 버퍼 사용
- 29. C에서 비트 세트 컨테이너를 사용 ++
- 30. Objective-C API 만들기
+1 이것은 정확히 내가 과거에해온 것입니다. 특히 C++ 관리가 그렇게 어렵지 않기 때문에 내 삶을 훨씬 쉽게 만들어주었습니다. –