小编Ex-*_*uto的帖子

x86-64 平台上的 int_fast8_t 大小与 int_fast16_t 大小

我已经了解到,在 x86-64 平台上使用任何 64 位寄存器都需要一个REX前缀,而任何小于 64 位的地址都需要一个地址大小前缀。

在 x86-64 位上:

E3rel8 是jrcxz

67 E3rel8 是jecxz

67是地址大小覆盖前缀的操作码。

sizeof(int_fast8_t)是 8 位,而其他sizeof(int_fast16_t)sizeof(int_fast32_t)(仅在 Linux 上)是 64 位。

为什么其他快速类型定义是 64 位而只有int_fast8_t8 位?

和对齐有关系吗?

c 64-bit assembly x86-64 low-level

3
推荐指数
1
解决办法
232
查看次数

标签 统计

64-bit ×1

assembly ×1

c ×1

low-level ×1

x86-64 ×1