我想知道C中是否有等效于int64_t
的32位和64位平台,而 ansi 和 pedantic 符合gcc模式。
我发现这个有趣post,但它与C ++有关。
我尝试使用long long
,但我收到integer overflow in expression [-WOverflow]
错误。此外,ISO C90不支持long long
。
我也尝试了post中的建议,但使用-WOverflow
时仍然出现int64_t
错误
任何解决方案?
答案 0 :(得分:2)
在C89中(-ansi
标志所需),没有标准的方法来使用64位整数。您必须依赖实施提供的类型。
在C99中,某些实现可能定义int64_t
,因为它是可选类型。对于long long
(C99),无法保证其宽度完全为64位。