int64_t或offset64的原型都是linux和windows 32bits系统

时间:2009-11-27 08:50:30

标签: windows linux int64

我正在开发一个需要int64变量函数的应用程序。我被告知offset64或int64_t对我的需要是可行的...... 但我只想在32位系统下使用int64的原型... 我该如何使用变量。 它是由两个ULONG组成的结构吗? thanx!

2 个答案:

答案 0 :(得分:2)

编译器通常没有理由不支持64位整数类型 透明地在32位(或更小)平台上,因为它可以生成代码 必须在使用时以较小的块处理它们。据我所知 任何符合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);
}

答案 1 :(得分:1)

使用long long,msvc和gcc都支持它。