如何在 C++ 和 C# 之间传递 Int**
How to pass a Int** between C++ and C#
我有一个C++ Dll,我无法修改它,我需要在C#代码中使用它。所以我创建了一个 C++/CLI 类作为原始 C++ 类的包装器。
有一个带有 int** 参数的方法,我不知道如何将其传递给 C++/CLI 代码,然后传递给 C# 代码。
下面是本机C++方法的定义,该方法返回帧中的元素数:
int Precursor::GetFrame(int **frame, int id)
你能帮我这个吗?谢谢
导入C++ DLL 时,您需要将指针到指针int **frame
封送为 ref IntPtr ppFrame
。 您的 CLI 函数将使用 IntPtr% frame
.
使用封送处理请参考以下链接http://www.codeproject.com/Articles/66244/Marshaling-with-C-Chapter-2-Marshaling-Simple-Type
相关文章:
- int x 和 int x=0 之间的差异在C++
- 在 C 和 C++ 中作为函数参数,int **a 和 int a[][] 之间有什么确切的区别
- 无符号长整型和无符号 int 之间有什么区别,这 2 种类型应该如何在 c# 中封送?
- 使用模板在size_t和int之间进行隐式类型转换
- 在 ENG US 和 ENG INT 之间切换时,GetKeyboardLayout() 不会改变
- 使用 double 在 C++ 中初始化 int 之间的差异
- C :使用函数过载与CHAR到INT之间的隐式转换,反之亦然
- 为什么字符串和 int 之间的 + 运算符充当 substr
- int f(int *i) 和 int f(int &i) 之间的区别
- "new int[5]"和"malloc(5 * sizeof(int))"之间的C++有什么区别?
- 在“有符号的 int”和“无符号的 int”之间进行添加
- 一个关于C++中double和int之间转换的奇怪结果
- 向量 <int> V[] 和向量<向量<int> > V 之间的区别
- map< "string" ,..> 和 map<int,..> 之间的性能差异?
- int p = *(int *)i 和 int p = *(int *)&i 之间的区别
- int x{} 之间有区别吗?和整数 x = 0;
- int[n][n] 和 int** 之间的关系
- C++字符和 int 之间的转换,结果错误
- void(int) 和 void (*)(int) 之间的区别
- int someInts[3]和int*someInts=new int[3]之间的差异