wow-cpu文件说明
- 项目地址:https://gitee.com/wow-iot/wow-iot7
- 本文件的的功能主要用于通过CPU架构/数据类型来得到大小端模式;
cpu架构获取大小端
#ifndef WOW_BYTE_ORDER
#if defined(i386) || defined(__i386__) || defined(_M_IX86) || \
defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \
defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \
defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64)
#define WOW_BYTE_ORDER 1234
#elif defined(sparc) || defined(__ppc__) || \
defined(__ARMEB__) || defined(__AARCH64EB__)
#define WOW_BYTE_ORDER 4321
#else
#define WOW_BYTE_ORDER 0
#endif
#endif
数据类型获取大小端:
#if WOW_BYTE_ORDER==4321
# define WOW_BIG_ENDIAN 1
# define WOW_LITTLE_ENDIAN 0
#elif WOW_BYTE_ORDER==1234
# define WOW_BIG_ENDIAN 0
# define WOW_LITTLE_ENDIAN 1
#else
const int wow_one = 1;
# define WOW_BIG_ENDIAN (*(char *)(&wow_one)==0)
# define WOW_LITTLE_ENDIAN (*(char *)(&wow_one)==1)
#endif