C#调用Dll出错(有关结构体) 资料也好难查

x280125626 x280125626 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
用C++代码生成的 DLL 被.net的C#调用
C++代码
#define WIN32API __declspec(dllexport)
typedef struct PPP
{
unsigned char a[10];
unsigned int b;
};
PPP ppp;
extern "C"
WIN32API
void SetPPP(PPP p)
{
ppp=p;
}
extern "C"
WIN32API
PPP GetPPP()
{
return ppp;
}

请问如何写C#调用代码?
下面是我自己写的,但是总是有问题
[StructLayout(LayoutKind.Sequential)]
public struct PPP
{
[MarshalAs(UnmanagedType.???(不知道写什么),SizeConst = 10)]
public Byte[] a;
public int b;
}
[DllImport("Center.dll", ExactSpelling = true)]
public static extern void SetPPP(PPP p);
[DllImport("Center.dll", ExactSpelling = true)]
public static extern PPP GetPPP();

请问如何写正确?
...全文
评论 14
收藏 已收藏
分享
返回顶部
x280125626
C# 111,129 成员 642,538 内容