有时我需要使用固定宽度的整数与 PLC 等外部设备进行通信。我还使用它们来定义位掩码并执行图像数据的位操作。 AFAIK C99 标准定义了固定宽度的整数,如 int16_t。但是我使用的编译器 VC++ 2008 不支持 C99 并且 AFAIK 微软不打算支持它。
我的问题是在 C++ 中使用固定宽度整数的最佳做法是什么?
我知道 VC++ 定义了像 __int16 这样的非标准定宽整数,但我对使用非标准类型犹豫不决。下一个 C++ 标准会定义固定宽度的整数吗?
最佳答案
您可以使用一些 #ifdef
指令来解决此问题。
#ifdef _MSC_VER
typedef __int16 int16_t
#else
#include <stdint.h>
#endif
关于c++ - C++ 中的定宽整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/734802/