4

我想知道int64_t在 C 中是否有一个等价物可以在 32 位和 64 位平台上工作,并且符合ansipedantic gcc 模式。

我发现了这篇有趣的帖子,但它与 C++ 相关。

我尝试使用long long但出现integer overflow in expression [-WOverflow]错误。此外long long,ISO C90 也不支持。

我也尝试了这篇文章中的建议,但我仍然有使用-WOverflow错误int64_t

有什么解决办法吗?

4

1 回答 1

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

  • 在 C99 中,某些实现可能会定义int64_t,因为它是可选类型。至于 long long(C99),不能保证它的宽度正好是 64 位。

于 2013-04-19T09:06:45.483 回答