【问题标题】:Do we need to worry about 32bit or 64bit integers or are we fine just using 'int'我们是否需要担心 32 位或 64 位整数,或者我们只使用“int”就可以了吗?
【发布时间】:2019-05-29 03:00:12
【问题描述】:

我正在使用 cocos2d-x 制作游戏,当在我们的游戏中使用“int”时,我们是否需要担心在 32 和 64 系统中使用 int32_t 和 int64_t,或者只是声明例如“int score = 0” ;”在引擎盖下处理所有这些?

【问题讨论】:

  • 我不了解 java 或 Objective C,但在 C++ 中int 保证为 16 位宽,但在几乎所有现实世界的系统中,编译器保证至少 32 位(@ 987654321@)。如果需要 64,请使用int64_t
  • Java int 始终为 32 位,long 始终为 64 位。 C/C++ int通常是 32 位的,long 可能是 32 位或 64 位,具体取决于编译器。
  • 换句话说,是的,您确实不必担心。或者至少要知道......

标签: java c++ objective-c cocos2d-x game-engine


【解决方案1】:

在 Objective-C 编译声明 int 变量的旧源代码,然后在语句中使用它们,如 NSLog 语句,将导致警告,不建议将 int 隐式转换为 long。这是一个警告,所以,如果你不介意代码中有很多黄旗,你可能会没事的。但是,要消除警告,您必须将它们显式转换为 long (long)score,而不仅仅是“score”。

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 2014-12-28
    • 2012-07-23
    • 2022-10-06
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    相关资源
    最近更新 更多