gpt4 book ai didi

c - GCC#define 语句字节顺序错误

转载 作者:行者123 更新时间:2023-11-30 14:22:59 25 4
gpt4 key购买 nike

对于我正在从事的项目,我使用魔数(Magic Number)。这个宏用来定义一个

#define BOOTSIGNATURE 0xAA55

但是,当我对生成的文件进行 HEXDUMP 时,它应该显示 AA55,但它显示的是 55 AA。

GCC 是否混淆了字节顺序,还是我混淆了?该项目适用于 x86 处理器。 AA 55 需要按照该特定顺序。我可以只交换字节,但我很好奇为什么 GCC 会这样做。

最佳答案

0xAA55 是一个 int,因此您受机器的字节顺序的影响。我会将其存储为字符数组:

const unsigned char BOOTSIGNATURE[] = {0xAA, 0x55};

关于c - GCC#define 语句字节顺序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com