c#调用c结构体诡异的情况。

胡匪幺二二 2012-10-30 04:06:11
c++:
struct xxx{
unsigned int a;
unsigned short b;
int c;
int d;
}

对应于c#
[Structlayout(LayoutKind.Sequential)]
public struct xxx{
public uint a;
public ushourt b;
public int c;
public int d;
}

不能完全对应,a 和 b 可以正确取出, c,和d 就出问题了,求助啊~
如果把b的类型改为 int 就都可以取出了。
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
胡匪幺二二 2012-11-19
  • 打赏
  • 举报
回复
引用 2 楼 owennol 的回复:
[Structlayout(LayoutKind.Sequential,Pack=1)] public struct xxx{ public uint a; public ushourt b; public int c; public int d; }
非常感谢,我在c++程序里面多加了一行 #param pack(1),那文件是处理网络消息的。
莫名3 2012-10-31
  • 打赏
  • 举报
回复
这个不理解 帮你顶..........
owennol 2012-10-31
  • 打赏
  • 举报
回复
[Structlayout(LayoutKind.Sequential,Pack=1)]
public struct xxx{
public uint a;
public ushourt b;
public int c;
public int d;
}
胡匪幺二二 2012-10-30
  • 打赏
  • 举报
回复
在线等啊。~弄了一整天了~

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧