ARCH层通用接口【0】--- 基本数据类型重定义

SylixOS对C语言的基本数据类型进行了重定义,重定义操作是在“include/arch/xxx/arch_types.h”文件中定义的。

类型定义说明
VOIDvoidvoid 类型
BOOLint布尔变量定义
PVOIDvoid *void * 类型
CPVOIDconst void *const void *
CHARchar8 位字符变量
UCHARunsigned char8 位无符号字符变量
PUCHARunsigned char *8 位无符号字符变量指针
PCHARchar *8 位字符指针变量
CPCHARconst char *const char *
BYTEunsigned char8 位字节变量
PBYTEunsigned char *8 位字节变量指针
LONGlong32/64 位数定义
ULONGunsigned long32/64 位无符号数定义
INTint编译器相关 int
UINTunsigned int编译器相关 unsigned int
SINTsigned int编译器相关 signed int
INT8signed charchar
UINT8unsigned char8 位无符号数定义
SINT8signed char8 位有符号数定义
INT16shortshort
UINT16unsigned short16 位无符号数定义
SINT16signed short16 位有符号数定义
INT32intlong or int
UINT32unsigned int32 位无符号数定义
SINT32signed int32 位有符号数定义
INT64long longlong long
UINT64unsigned long long64 位无符号数定义
SINT64signed long long64 位有符号数定义
INTREGvolatile unsigned int定义处理器中断寄存器

注意:

  1. 类型在和体系结构下分别定义,但发现所有体系结构下定义是相同的。
  2. INT8 必须是 signed 型. 这样 int8_t 才能保证是 signed 型.很多编译器默认 char 是 unsigned. 所以这里必须强制将 INT8 定义为 signed 型.
  3. INTREG 仅用于记录开关中断状态, 而非整个标志寄存器, 所以 x86-64 也使用 32 位 unsigned int 类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ScilogyHunter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值