如何对结构体设置结构对齐方式为1个字节?

winbq5 2010-10-21 09:15:55
例如这个结构体:
struct
{
byte bt;
int i;
short s;
}
...全文
605 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
winbq5 2010-10-22
  • 打赏
  • 举报
回复
#pragma pack(n) 用这个函数改变他的对齐系数

这个是C的啊,我想要的是C#的
無_1024 2010-10-21
  • 打赏
  • 举报
回复
#pragma pack(n) 用这个函数改变他的对齐系数
bloodish 2010-10-21
  • 打赏
  • 举报
回复
Sequential 用于强制将成员按其出现的顺序进行顺序布局
Pack 控制类或结构的数据字段在内存中的对齐方式。

StructLayoutAttribute.Pack 字段


[StructLayout(LayoutKind.Sequential,Pack=1)]
public struct MyStruct
{
public byte bt;
public int i;
public short s;
}
winbq5 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
long : 8
int : 4
Serializable]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1,Size=29)]
struct aa
{
public Byte a;
public int b;
}
http://topic.csdn.net/u/200……
[/Quote]


不懂这个什么意思啊,能否详细说说
wuyq11 2010-10-21
  • 打赏
  • 举报
回复
long : 8
int : 4
Serializable]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1,Size=29)]
struct aa
{
public Byte a;
public int b;
}
http://topic.csdn.net/u/20081112/18/7ed6b1c4-c6da-4a15-847b-e2172510a181.html
xu56180825 2010-10-21
  • 打赏
  • 举报
回复
什么叫对齐方式?在下愚钝。。请指教下?

110,578

社区成员

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

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

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