Visual C ++中int32_t的等价物是什么?
答案 0 :(得分:37)
Visual C ++ 2010包括<cstdint>
,其中包括typedef std::int32_t
(您还可以包含<stdint.h>
,其在全局命名空间中具有相同的typedef。)
如果您使用的是旧版本的Visual C ++,则可以使用Boost's <cstdint>
implementation。
答案 1 :(得分:8)
我做的是在确保类型存在之后创建我自己的typedef:
#ifdef _MSC_VER
#if _MSC_VER >= 1600
#include <cstdint>
#else
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
#endif
#elif __GNUC__ >= 3
#include <cstdint>
#endif
typedef int8_t s8;
typedef int16_t s16;
typedef int32_t s32;
typedef int64_t s64;
typedef uint8_t u8;
typedef uint16_t u16;
typedef uint32_t u32;
typedef uint64_t u64;
答案 2 :(得分:7)
如果您拥有Visual Studio的cstdint
版之前的版本,则可以使用__int32
。
答案 3 :(得分:1)