C中的-ansi -pedantic 64位长度整数

时间:2013-04-19 09:04:03

标签: c 64-bit int portability

我想知道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错误

任何解决方案?

1 个答案:

答案 0 :(得分:2)

  • 在C89中(-ansi标志所需),没有标准的方法来使用64位整数。您必须依赖实施提供的类型。

  • 在C99中,某些实现可能定义int64_t,因为它是可选类型。对于long long(C99),无法保证其宽度完全为64位。