在Windows中具有64位的长/ Int

时间:2014-05-20 20:22:53

标签: c windows gcc

我知道在Unix / Linux中,long大小为64位。

但是当在Windows(x64)下使用相同时,long总是32位。

是否有任何变通方法/库可以在C中使用更大的整数

1 个答案:

答案 0 :(得分:5)

在C99下,您有两种可能性

  • 使用long long,因为它必须至少为64位
  • 如果可用,请使用int64_t
  • 中的int_least64_tstdint.h

在第二种方法中,您可能会发现与inttypes.h结合使用很有用,后者增加了可移植格式和转换功能,但请注意,托管和独立实现都需要stdint.h,{{ 1}}仅在托管实现中需要。

此外,在inttypes.h中确切定义了哪些类型在某些情况下是实现定义的,但如果定义了类型,则必须存在有符号和无符号版本。