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