나는 C# 코드에서 호출하기를 원하는 네이티브 일반 C++ DLL을 가지고 있으므로 C++/CLI 클래스 (설명 된대로 here 및 here)를 만들었는데 관리되는 C++ 코드가 포함되며 모든 C# 코드에서 직접 호출 할 수 있으며 네이티브 관리되지 않는 C++에 대한 호출을 호출 할 수 있습니다.C# 코드에서 int * 유형의 매개 변수를 가진 C++ DLL에 정의 된 함수를 어떻게 호출합니까?
네이티브 C++ dll의 함수 중 하나는 int * 유형의 매개 변수를가집니다. 래퍼 함수로 어떻게 선언 할 수 있으며 어떻게 int *로 변환 할 수 있습니까?
을 그리고'방법은을 얻기 위해 포인터를'int *'로 캐스팅하고 역 참조 할 수있다. –
안녕하세요 여러분, 답장을 보내 주셔서 감사합니다. 다음 코드 세그먼트를 사용하여 답장을 기반으로 포인터 변환을 수행합니다. 내가 틀린 지 말해줘. 어리석은 실수에 Apolozose, C# 및 C++/CLI 프로그래밍에 초보자. int b = 3; IntPtr errno = new IntPtr (&b); int * var = (int *) Marshal :: AllocHGlobal (errno) .ToPointer(); – Ashutosh
안녕하세요, 귀하의 답장을 보내 주셔서 감사합니다. int로 변환 한 다음 ToPointer를 사용하여 변환하고 네이티브 C++에서 사용할 수 있습니다. 그러나 이제 어떻게 ir를 되돌릴 수 있는지 모르겠다. IntPtr로 int *를 변환하는 방법을 의미합니다. 누군가가 대답을 알고 있다면 회신을 요청합니다. – Ashutosh