Chinaunix首页 | 论坛 | 博客
  • 博客访问: 131683
  • 博文数量: 38
  • 博客积分: 2050
  • 博客等级: 大尉
  • 技术积分: 471
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-19 15:49
文章分类

全部博文(38)

文章存档

2009年(1)

2008年(37)

我的朋友

分类: LINUX

2008-04-29 09:40:10


代码中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()函数不作任何转换。
阅读(5339) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~