windows - linux 和 windows 32 位系统的 int64_t 或 offset64 原型(prototype)

标签 windows linux int64

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

最佳答案

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

关于windows - linux 和 windows 32 位系统的 int64_t 或 offset64 原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1807506/

相关文章:

javascript - 在 JavaScript 中将字节数组转换为有符号 int64

C# 将大于 Int64 的数字转换为 HexaDecimal

java - 如何正常关闭/终止 java 进程?

c++ - 调用 CreateProcessAsUser 时,是否需要将 exe 路径指定为 lpCommandLine 中的第一个参数?

.net - Windows 窗体计时器错误或使用不当?

linux - kubectl 没有显示环境变量

linux - Bash 脚本 - 需要从目录中删除文件,直到目录大小小于 8 TB

linux - ALIX 2D13,使用闪存和硬盘的 linux 内核错误 "serial number revalidation"

c++ - 为什么整数类型 int64_t 不能持有这个合法值?

windows - 可以在Win8虚拟机上编写CUDA代码吗?