相关疑难解决方法(0)

将托管代码中的多维数组传递给非托管代码

我想做以下事情:

  1. 在c#代码中创建三个像素数组,如下所示:

    var myArray = new short[x,y,z];
    UnanagedFunction(myArray);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将它传递给非托管代码(c ++),如下所示:

    void UnmanagedFunction(short*** myArray)
    {
        short first = myArray[0][0][0];
    }
    
    Run Code Online (Sandbox Code Playgroud)

更新 当我尝试以下代码时,我遇到运行时错误:

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

谢谢!!!

c# c++ marshalling dllimport

8
推荐指数
1
解决办法
3842
查看次数

标签 统计

c# ×1

c++ ×1

dllimport ×1

marshalling ×1