我想为程序编写一个插件。该程序只能使用 C/C++ *.dll 库。我想用 C# 编写我的插件,所以我想我可以通过 COM 从 C++ dll 调用我的 C# 函数。这工作正常,但现在我需要访问原始程序提供的结构。在 C++ 中,这个结构看起来像这样:
struct asdf{
char mc[64];
double md[10];
unsigned char muc[5];
unsigned char muc0 : 1;
unsigned char muc1 : 1;
unsigned char muc2 : 6;
unsigned char muc3;
another_struct st;
};
为了能够将该结构作为参数传递给 C#,我尝试在 C# 中构建完全相同的结构。我尝试了以下方法,但它给了我访问冲突:
struct asdf{
char[] mc;
double[] md;
byte[] muc;
byte muc0;
byte muc1;
byte muc2;
byte muc3;
another_struct st;
};
我必须改变什么?