C#调用c写的dll 出现:尝试读取或写入受保护的内存。这通常指示其他内存已损坏
求助各位大神!
我最近在用C#封装一个C写的dll,在调dll中的方法时,时不时会报 “尝试读取或写入受保护的内存。这通常指示其他内存已损坏”。出现这样的问题,重启下机器就会好了,不过这也不是解决方案,继续大神帮我看看,如何才能杜绝这个问题。
char* __readPeopleInfo_json()这个是C写的dll中的方法定义
下面是C#引用及调用的代码
[DllImport("HealthyCarder.dll")]
public static extern IntPtr readPeopleInfo_json();
IntPtr lpByte = WSCall.DllImport.readPeopleInfo_json();
outputData = Marshal.PtrToStringAnsi(lpByte);