基于以下 C++ header 内容:
typedef struct {
char myVar[30][50];
}MyStruct;
extern "C" int WINAPI MyFunction(MyStruct *Configuration,int *CfgSize);
我在互联网上查找了很多示例,但没有一个示例使用结构数组 中的矩阵变量 作为参数。
有人可以告诉我如何在 C# 中使用此函数吗?
最佳答案
为了编码这个数组成员,你只需要将它展平到它代表的 1500 个元素
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct MyStruct {
/// byte[1500]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst=1500, ArraySubType=UnmanagedType.I1)]
public byte[] myVar;
}
在 C# 中使用时,请务必手动初始化 myVar
数组
关于c# - 如何编码包含 char 矩阵的数组结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874447/