什么是Visual C ++中int32_t的等价物?

时间:2011-04-14 02:11:34

标签: c++ visual-c++

Visual C ++中int32_t的等价物是什么?

4 个答案:

答案 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)

int。但是,如果要继续在2010年之前的VC ++版本中使用stdint typedef(其中引入了cstdint标头),请考虑使用BoostConfig的{{3} }。