如何将嵌入式 C 中的类型用于便携式裸机软件
How to use types in embedded C for portable bare metal software
我正在用 C 语言为特定的微控制器编写我的第一个裸机应用程序。我想让它尽可能便携,但我不确定使用 C 类型的正确方法是什么。我有两个选择:
- 使用典型的 C 标准类型,例如
char
、int
、long
等
- 整数类型使用
stdint.h
类型,如uint8_t
、int32_t
等,其余类型使用char
、double
类型。
哪个选项最好?
使用 stdint.h
定义明确的整数类型可以更轻松地将您的代码移植到另一个控制器。
例如:
类型 int
的大小取决于您的机器(16 位或 32 位)
请记住:
如果您想使用 MISRA 标准,则不允许使用 int
.
等标准类型
我正在用 C 语言为特定的微控制器编写我的第一个裸机应用程序。我想让它尽可能便携,但我不确定使用 C 类型的正确方法是什么。我有两个选择:
- 使用典型的 C 标准类型,例如
char
、int
、long
等 - 整数类型使用
stdint.h
类型,如uint8_t
、int32_t
等,其余类型使用char
、double
类型。
哪个选项最好?
使用 stdint.h
定义明确的整数类型可以更轻松地将您的代码移植到另一个控制器。
例如:
类型 int
的大小取决于您的机器(16 位或 32 位)
请记住:
如果您想使用 MISRA 标准,则不允许使用 int
.