c#调用c生成的DLL,得到其结构体的数据

2025-06-28 10:05:39
推荐回答(1个)
回答1:

c.dll

struct MyBuf
{
    uint8_t out0; 
}mydata;

void func(Mybuf* data);

c#

[StructLayout(LayoutKind.Sequential)]
public struct MyBufC
{
    public byte out0;
}

[DllImport("c.dll")]
public static void func(ref MyBufC data);


// 使用方式
MyBufC  a = new MyBufC();
func(ref a);

我也没编译验证,只是凭记忆写的,主要是ref关键字的使用。

如果有问题,你在追问里再补充一下