【发布时间】:2009-11-27 08:50:29
【问题描述】:
我正在开发一个需要 int64 变量函数的应用程序。我被告知 offset64 或 int64_t 可以满足我的需要...... 但我只想知道32位系统下int64的原型是什么... 我如何使用变量。 它是由两个 ULONG 组成的结构吗? 谢谢!
【问题讨论】:
我正在开发一个需要 int64 变量函数的应用程序。我被告知 offset64 或 int64_t 可以满足我的需要...... 但我只想知道32位系统下int64的原型是什么... 我如何使用变量。 它是由两个 ULONG 组成的结构吗? 谢谢!
【问题讨论】:
编译器通常没有理由不支持 64 位整数类型 在 32 位(或更小)平台上透明,因为它可以生成代码 有必要在使用它们时以较小的块处理它们。 AFAIK 任何符合 C99 的编译器都应该透明地支持 64 位类型 通过 stdint.h 头文件定义类型,如 int64_t 和 您可以像使用任何其他整数类型一样使用它们。
[编辑]示例:
#include <stdint.h>
#include <stdio.h>
int main(void) {
int64_t x = 0x1000000000LL;
x = x*2;
printf("%llX\n", x);
}
【讨论】:
使用long long,msvc和gcc都支持。
【讨论】: