stdint.h 与定宽整数类型

← 返回 编译与链接MOC | ← 主页


stdint.h 是标准头文件,用来提供 int8_tuint16_tuint32_t 这类定宽整数类型

之所以需要它,是因为 intshortlong 的实际位宽和具体工具链、ABI、目标平台有关,不能直接拿来表达“这个字段必须就是 8 位/16 位/32 位”。

所以:

  • 协议字段
  • 寄存器映射
  • 二进制布局
  • RTOS 端口层类型

这类地方更适合直接用定宽类型,而不是赌 unsigned int 恰好等于你想要的宽度。

FreeRTOSportmacro.h 里那些 StackType_tTickType_t 等类型,本质上也是在做同一件事:把“当前端口该用什么宽度和什么自然类型”明确下来。

对照看:FreeRTOS 移植与配置