wow-cpu系统CPU操作说明

本文档详细解释了wow-cpu文件中如何通过CPU架构和数据类型来确定系统是大端(BIG_ENDIAN)还是小端(LITTLE_ENDIAN)模式。使用宏定义和条件编译检测不同平台的字节顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值