我知道在Unix/Linux中long大小是64位.
但是当在windows(x64)下使用相同时,long总是32位.
是否有任何变通方法/库可以在C中使用更大的整数?
在C99下,您有两种可能性
long long,因为它必须至少为64位int64_t或int_least64_t来自stdint.h在第二种方法中,您可能会发现它很有用inttypes.h,它增加了可移植格式和转换函数,但请注意,虽然stdint.h在托管和独立实现中都需要,但inttypes.h只有在托管实现中才需要.
此外,stdint.h在某些情况下,确切定义了哪些类型是实现定义的,但如果定义了类型,则必须存在有符号和无符号版本.