小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高 级的平台以另一种方式(大端)工作. 任何可能的时候, 你的代码应当这样来编写, 它不在 乎它操作的数据的字节序. 但是, 有时候一个驱动需要使用单个字节建立一个整型数或者 相反, 或者它必须与一个要求一个特定顺序的设备通讯.
包含文件
u32 cpu_to_le32 (u32); u32 le32_to_cpu (u32);
这 2 个宏定义转换一个值, 从无论 CPU 使用的什么到一个无符号的, 小端, 32 位数, 并且转换回. 它们不管你的 CPU 是小端还是大端, 不管它是不是 32-位 处理器. 在没有 事情要做的情况下它们原样返回它们的参数. 使用这些宏定义易于编写可移植的代码, 而 不必使用大量的条件编译建造.
有很多类似的函数; 你可以在