长/诠释64位在Windows中

我知道在Unixes / Linuxes中, long尺寸是64位。

但是,当在窗口(x64)下使用相同的long总是32位。

有什么变通办法/库,使在C中使用较大的整数

在C99下,你有两种可能性

  • 使用long long ,因为要求至少是64位
  • 如果可用,请使用stdint.h int64_tint_least64_t

在第二种方法中,您可能会发现将inttypes.h与可添加便携式格式和转换函数相结合是有用的,但请注意,虽然托管和独立实现中都需要stdint.h ,但只有在托管实现中才需要inttypes.h

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