Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 修复了Linux内核中的64位整数_C_Linux_Gcc_Linux Kernel - Fatal编程技术网

C 修复了Linux内核中的64位整数

C 修复了Linux内核中的64位整数,c,linux,gcc,linux-kernel,C,Linux,Gcc,Linux Kernel,我希望在linux内核中有一个固定大小的64位整数 我的问题是: 如果我使用的是无符号long,那么在一个体系结构上它可能是64位的,而在另一个体系结构上它可能是32位的。对吧? 修复的数据类型是什么 64位整数 我特别指的是linux内核 如果我使用unsigned long,那么在一种体系结构上它可能是64位的,在另一种体系结构上它可能是32位的。对吧? 是的,unsigned long的大小由实现定义,因此不可移植 固定64位整数的数据类型是什么 int64\u t或uint64\u t

我希望在linux内核中有一个固定大小的64位整数

我的问题是:

  • 如果我使用的是
    无符号long
    ,那么在一个体系结构上它可能是64位的,而在另一个体系结构上它可能是32位的。对吧?
  • 修复的数据类型是什么 64位整数
  • 我特别指的是linux内核

    如果我使用unsigned long,那么在一种体系结构上它可能是64位的,在另一种体系结构上它可能是32位的。对吧?

    是的,
    unsigned long
    的大小由实现定义,因此不可移植

    固定64位整数的数据类型是什么

    int64\u t
    uint64\u t

    如果我使用unsigned long,那么在一种体系结构上它可能是64位的,在另一种体系结构上它可能是32位的。对吧?

    是的,
    unsigned long
    的大小由实现定义,因此不可移植

    固定64位整数的数据类型是什么


    int64\u t
    uint64\u t

    C语言提供了许多固定宽度类型,有符号和无符号

    正如Lundin所说,“无符号long的大小是由实现定义的,因此是不可移植的”

    因此,像
    int
    unsigned int
    float
    这样的常见类型取决于编译器

    您可以看到自C99以来可用的固定宽度整数类型的完整列表

    int64_t
    是一种“带符号的整数类型,其宽度正好为64位,没有填充位,并对负值使用2的补码”

    uint64\u t
    ,也根据文档,是一种“无符号整数类型,宽度正好为64位”

    但您可能会好奇地看到更多其他固定64位宽度整数类型,如:
    uint\u fast64\u t
    uint\u least64\u t

    我建议您看看,并从中获得学习神奇C类型的乐趣\o/

    您还可以检查上的可用类型


    希望这有帮助

    C语言提供了许多固定宽度类型,有符号和无符号

    正如Lundin所说,“无符号long的大小是由实现定义的,因此是不可移植的”

    因此,像
    int
    unsigned int
    float
    这样的常见类型取决于编译器

    您可以看到自C99以来可用的固定宽度整数类型的完整列表

    int64_t
    是一种“带符号的整数类型,其宽度正好为64位,没有填充位,并对负值使用2的补码”

    uint64\u t
    ,也根据文档,是一种“无符号整数类型,宽度正好为64位”

    但您可能会好奇地看到更多其他固定64位宽度整数类型,如:
    uint\u fast64\u t
    uint\u least64\u t

    我建议您看看,并从中获得学习神奇C类型的乐趣\o/

    您还可以检查上的可用类型


    希望这有帮助

    在Linux内核中,而不是
    u64
    s64
    或其ABI类似物
    \uu u64
    \uu s64
    。在Linux内核中,而不是
    u64
    s64
    或其ABI类似物
    \uu u64