尝试读取或写入受保护的内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试读取或写入受保护的内存相关的知识,希望对你有一定的参考价值。

由C#程序引用C++写的DLL文件,在DLL文件中如下:
int Nutri_nsga2(double *recipe1, double *need1, int *tire1, int nfood, int nnutri, int nl, int nm, int *list, double *status)//
在C#里如下调用
public extern static int Nutri_nsga2(out Double[,] recipe, out Double[] standard,out int[] worktype, int nf, int nn, int nl, int nm, out int[,] list, out Double[,] status);
ans = Nutri_nsga2(out recipe,out standard,out worktype, nf, nn, nl, nm, out list, out status);
运行的时候就显示 “尝试读取或写入受保护的内存”,仔细校对了数据对应类型 应该是没有出错的,还请各位大虾多多指教。

参考技术A “尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

以上是关于尝试读取或写入受保护的内存的主要内容,如果未能解决你的问题,请参考以下文章

PInvoke - 读取字符串字段的值 - “尝试读取或写入受保护的内存”

尝试读取或写入受保护的内存。这通常表明其他内存已损坏

ArcEngine尝试读取或写入受保护的内存

尝试读取或写入受保护的内存。这通常表明其他内存已损坏。在 C++ DLL 中

尝试读取或写入受保护的内存

尝试读取或写入受保护的内存。这通常表明其他内存已损坏