c++ - C++ 嵌入式应用程序是否应该为内置 C++ 类型使用带有 typedef 的通用 header ?

标签 c++ embedded header module

通常的做法是我努力避免直接使用内置类型,而是包含一个 standardtypes.h,其中包含如下项目:

// \Common\standardtypes.h
typedef double             Float64_T;
typedef int                SInt32_T;

几乎所有组件和源文件都依赖于此 header ,但有些人认为需要抽象类型的大小(实际上不需要)。

这是一个好的做法吗(尤其是在大型组件化系统中)?有更好的选择吗?还是应该直接使用内置类型?

最佳答案

您可以在头文件中使用现代 C 和 C++ 实现中可用的标准化版本:stdint.h

它有类似的类型:uint8_t、int32_t 等。

一般来说,这是保护代码免受平台依赖性影响的好方法。即使您迄今为止还没有遇到过需要它的情况,它肯定会使代码更易于解释,因为不需要像猜测“int”或“long”那样猜测存储大小,它们的大小会随着平台。

关于c++ - C++ 嵌入式应用程序是否应该为内置 C++ 类型使用带有 typedef 的通用 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3516401/

相关文章:

c++ - 是否应该链接带有实现的头文件?

C++ 可变数量的可变模板参数

两个任务之间的同步

c++ - 如何在设计库时找出硬件中的#define 值

embedded - 复位时嵌入式系统会发生什么?

objective-c - 在 myproject-swift.h 中找不到接口(interface)声明

c++ - OpenCV:如何对带有图像的文件夹进行批处理?

c# - 如何编写用于将 Qt 信号映射到 C# 事件的包装类(通过 C++/CLI)

c++ - C++ 中的字符串数组无法正常工作?

php - 如何更改谷歌浏览器的接受 header ?