关于大小端移植的问题

bravehearty 2006-10-31 08:21:14
在将程序移植到不同的32位CPU系统中,经常出现结构字节对齐的问题和大小端问题,请问分别都有哪些方法进行避免??
  多谢!!!
...全文
297 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
OOPhaisky 2006-10-31
  • 打赏
  • 举报
回复
经常出现结构字节对齐的问题和大小端问题
------------------------------------------------------------------------
大小端问题可以事先约定一下。至于对齐问题,不知道怎么解决。
EverestSnowPine 2006-10-31
  • 打赏
  • 举报
回复
32位的cpu系统一次性可以读取的数据是4个字节的数据,如果原来是16位对齐的,假设一个数据占4个字节,地址是0X 0FFE-1001,原来的cpu需要两次从cpu上读取第一次0FFE和0FFF,第二次1000和1001,现在用32位的cpu读取0000是原点,一次4个字节,读到1000也是整4字节,也就是说前一次读0FFC-0FFF 第二次1000-1003,要分两次读取,如果这个数据的地址是1000-1003就一次可以读完,这样可以提高内存cpu工作速度.
一般的高级语言运行时,系统会自动对齐分配.
低级如汇编,定义的时候,把2字节的2两配对定义,再定义4字节的就不会出现需要对齐的问题了,这样就可以避免吧.
小弟不才,请高手指点......呵呵
jixingzhong 2006-10-31
  • 打赏
  • 举报
回复
似乎不是跨平台的话,
这些问题还是比较少见的 ...

69,368

社区成员

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

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