首先我们要知道的一点是:在Linux内核中,不同CPU里面,各自的字节序定义都不同。
本次用于分析的 Linux 内核版本为: linux--3.0.0-12。
arch/XXX/include/asm/byteorder.h:不同CPU(XXX)的字节序定义
1)ARM(XXX=arm):
#ifdef __ARMEB__
#include <linux/byteorder/big_endian.h>
#else
#include <linux/byteorder/little_endian.h>
#endif
(2)PowerPC(XXX=powerpc)
#include <linux/byteorder/big_endian.h>
(3)X86(XXX=x86)
#include <linux/byteorder/little_endian.h>
由上面举的3个例子,可以看出三种不同的CPU对于各自的字节序定义有所不同。
时间: 2024-12-19 14:43:10