【问题标题】:prototype of int64_t or offset64 both linux and windows 32bits systemlinux 和 windows 32 位系统的 int64_t 或 offset64 原型
【发布时间】:2009-11-27 08:50:29
【问题描述】:

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

【问题讨论】:

    标签: windows linux int64


    【解决方案1】:

    编译器通常没有理由不支持 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);
    }
    

    【讨论】:

    • 你有一些使用 int64 的例子吗?谢谢
    • 您应该使用“int64_t”,而不是“int64”。 int64_t 是标准定义的类型。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-03-13
      • 2011-07-29
      • 1970-01-01
      • 2017-09-04
      • 2023-01-25
      • 2017-06-26
      • 2013-10-31
      相关资源
      最近更新 更多