错误说明

这些宏总是成功的。

语法

#include <byteswap.h>

bswap_16(x);
bswap_32(x);
bswap_64(x);

另外参见

byteorder(3),endian(3)

BSWAP - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-06-09

示例

下面的程序交换作为命令行参数提供的8字节整数的字节。以下shell会话演示了该程序的用法:

$ ./a.out 0x0123456789abcdef
0x123456789abcdef ==> 0xefcdab8967452301

Program source

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <inttypes.h>
#include <byteswap.h>

int
main(int argc, char *argv[])
{
    uint64_t x;

    if (argc != 2) {
        fprintf(stderr, "Usage: %s <num>\n", argv[0]);
        exit(EXIT_FAILURE);
    }

    x = strtoul(argv[1], NULL, 0);
    printf("0x%" PRIx64 " ==> 0x%" PRIx64 "\n", x, bswap_64(x));

    exit(EXIT_SUCCESS);
}

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

遵循规范

这些宏是GNU扩展。

返回值

这些宏返回其参数的值,并反转字节。

说明

这些宏返回一个值,该值的2、4或8字节参数中的字节顺序相反。

名称

bswap_16,bswap_32,bswap_64-字节的相反顺序

日期:2019-08-20 17:59:56 来源:oir作者:oir