C# 외부 dll을 호출하는 동안 매개변수 문제

639 단어 C#
C#에서 외부 dll을 호출할 때 가끔 오류가 발생하거나 예외가 발생할 수 있습니다.주로 C#의 매개 변수 유형과 dll의 함수의 매개 변수 유형이 일치하지 않으며CharSet이 dll에 대한 수식이 정확하지 않아서 일어난 것이다.
자세한 내용은 C# 및 기타 언어의 dll 유형 비교 표 참조
이 슬라이드는 C++dll의 경우
int Func_dll(char* , char*); //            ,   char     char      

이 함수는 단순히 복사본을 전달하는 것이 아니라 char*가 가리키는 내용을 바꾸기 때문에 매개 변수 대조표에 따라 StringBuilder 형식으로 설정해야 합니다.기타 유형은 이렇게 유추한다
delegate void Dele_Func_dll(StringBuilder str1, StringBuilder str2); //        ,         StringBuilder

dll을 가져올 때CharSet 수식에 주의해야 합니다
[DllImport("ZMApi.dll", CharSet = CharSet.Ansi)]

좋은 웹페이지 즐겨찾기