struct 数据成员的设计

chinaplus 2008-06-24 11:13:11
typedef struct
{
MED_UINT16 volume;
MED_UINT32 mode;
}PlaySt;

一般为了字节对齐是否需要把MED_UINT16 改为MED_UINT32?
但是字节对齐也是根据不同的处理器而言的吧。
struct中数据成员的设计是否全部设计为4字节对齐呢?
谢谢大家!
...全文
80 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaplus 2008-06-30
  • 打赏
  • 举报
回复
谢谢大家了。
对大部分程序来说,不必关心对齐的问题
其实,也是在开发程序的过程中,遇到了讨论这个问题。有点疑问。
fbusybox 2008-06-25
  • 打赏
  • 举报
回复
楼上说得没错
文件开头加下对齐字节单位 让compiler知道
sailinghz 2008-06-24
  • 打赏
  • 举报
回复
VC6 用#pragma pack(n) 设置n字节对齐。
brookmill 2008-06-24
  • 打赏
  • 举报
回复
不同的编译器对字节对齐的处理有可能不一样。
如果想控制对齐,可以使用 #pragma pack
不一定全部需要设计成4字节对齐,看你程序的具体要求。
对大部分程序来说,不必关心对齐的问题。
wuyu637 2008-06-24
  • 打赏
  • 举报
回复
你自己都说了,字节对齐是根据不同的处理器而言的啊。

其实就是在同一个处理器上在编译的时候也是可以调整编译选项来改变字节对齐的。(有的可以,有的不行。)


brookmill 2008-06-24
  • 打赏
  • 举报
回复
http://blog.csdn.net/MLiang/archive/2006/04/10/657151.aspx
http://blog.csdn.net/chenhu_doc/archive/2006/07/16/929104.aspx
http://blog.csdn.net/JackFromVIA/archive/2006/05/12/725969.aspx
http://blog.csdn.net/t_larry/archive/2006/04/17/667045.aspx

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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