Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87792
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-05 23:01
文章分类
文章存档

2016年(18)

2015年(14)

2014年(1)

我的朋友

分类: LINUX

2016-02-24 16:53:33

原文地址:cpu_to_le32 le32_to_cpu 作者:bglinux


代码中le32_to_cpu()、le16_to_cpu()按具体CPU的要求进行数据的排列,在i386处理器上访问Ext2文件系统时这些函数不做任何事情。因为不同的处理器在存取数据时在字节的排列次序上有所谓“big ending”和“little ending”之分。例如,i386就是“little ending”处理器,它在存储一个16位数据0x1234时,实际存储的却是0x3412,对32位数据也是如此。这里索引节点号与块的长度都作为32位或16位无符号整数存储在磁盘上,而同一磁盘既可以安装在采用“little ending”方式的CPU机器上,也可能安装在采用“big ending
方式的CPU机器上,所以要选择一种形式作为标准。事实上,Ext2采用的标准为“little ending”,所以,le32_to_cpu()、le16_to_cpu()函数不作任何转换。
阅读(1004) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~