Windows에서 UN-MANIGANG C ++ 코드에서 MANAGED .NET 코드를 호출하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1046499

문제

VC 6.0을 사용하여 개발 된 순수한 C ++ 응용 프로그램이 있습니다. 이 응용 프로그램이 C#에서 개발 된 라이브러리를 사용하기를 원합니다. 내 원주민 실행 파일에서 C# 라이브러리의 메소드를 어떻게 호출합니까? 관리되지 않은 C ++ 기본 응용 프로그램을 관리 코드로 변환하고 싶지 않습니다. 마찬가지로, 반대는 어떻게합니까? Pinvoke가 유일한 옵션입니까? 나는 같은 참고 문헌이나 포인터에 감사드립니다.

도움이 되었습니까?

해결책

관리되지 않는 C ++의 관리 코드로 호출하려면 사용하십시오. clrcreatemanagedinstance, 또는 관리 조립품의 유형을 COM으로 표시하고 COM을 사용하십시오. 관리되지 않은 코드로 호출하려면 com 또는 p/invoke를 사용하십시오.

다른 팁

이것에 대한 Microsoft의 메인 라인은 Com Interop을 사용하는 것입니다. 그러나 "Reverse P/Invoke"라고도하는 또 다른 옵션이 있습니다. 흥미로운 블로그 게시물이 있습니다. 여기 그리고 좀 더 여기

또한 Delphi.net (현재 소멸)이있는 경우이 언어를 사용하면 DLL 기능과 같은 정적 메소드를 내보낼 수 있으므로 일반적인 기본 DLL처럼 delphi.net 어셈블리로 호출 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top