postgresql中的MAXIMUM_ALIGNOF

> The MAXIMUM_ALIGNOF value is set to 8 bytes in a Windows- 32-bit
> environment. I have very little knowledge about Windows, but at
> the face of it, this looks strange. Any idea why is this required ?

It's not entirely unreasonable. The same thing happens on HPPA,
which is nominally a 32-bit architecture but the hardware requires
8-byte alignment of doubles (and maybe int64 too, I forget).
On newer Intel hardware it'd make sense to pad to avoid misaligned
fetches.

Anyway, we detect this directly based on the C compiler's behavior,
and you can't argue with the compiler about it. Whatever it's
doing is right by definition.

posted @ 2022-09-15 12:58  zhjh256  阅读(45)  评论(0编辑  收藏  举报