天天看點

linux源碼分析之位元組序(1)-- byteorder.h

首先我們要知道的一點是:在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對于各自的位元組序定義有所不同。

繼續閱讀