4
이중 간접 포인터의 여러 인수를 사용하는 C 함수가 있습니다. C#에서 지금이DLL 가져 오기 malloc 이중 간접 포인터
int myFunction (int ** foo, int** bar, int **baz){
int size = figureOutSizeFunction();
*foo = (int*) malloc (sizeof(int) * size);
return SomeOtherValue;
}
같은
뭔가 나는 그러나 IntPtr입니다은 항상 0,을 IntPtr로에게 심판을 통과하려합니다. 그리고 그 값을 다음 DLL C 함수에 전달하면 DLL이 시스템 액세스 위반으로 실패합니다. 그 코드가 C 전용 환경에서 작동한다는 것을 알고 있습니다. 그러나 C#에서 호출 할 때 작동하지 않습니다.
C로 전달할 때 필요한 C# 변수 유형은 무엇입니까? DLL? 심판 심판 int?
더 읽을으로 다시 작성할 수 있습니다. 그런 다음 DLL을 다시 호출하여 무료로 호출해야합니다. 마지막으로, 왜 malloc()의 반환 값을 캐스팅하고 있습니까? 그 나쁜. –