System.AccessViolationException:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”
由于我调用c++动态库,有时会出现这个错误,有时候又不会,可把我头疼死了。
函数: const char* xxxxxx();
我是这样写的:
[DllImport("xxxx.dll")]
public static extern string xxxxxx();
出现错误后,翻阅了大量的文档,发现这样托管
//声明
[DllImport("xxxx.dll")]
public static extern IntPtr xxxxxx();
//调用
string content = Marshal.PtrToStringAnsi(xxxxxx());