私はコンパイラの設計と実装に関する本を読んでいます。ストレージ管理に関する部分では、著者はメモリを割り当てるための関数を書く。彼は、関数が任意の型に対して適切に整列されることを望んでいます。彼は、以下のユニオンのサイズは、ホストマシン上の最小アライメントであると主張しています。私はそれがどういう意味か分かりません。本から: "...そのフィールドは、最も厳密な位置合わせの要件を持つ可能性が最も高いフィールドです。"マシンの最小アライメント要件
union align {
long l;
char *p;
double d;
int (*f) (void);
};
「厳密なアライメント要件」とはどのような意味ですか、これがホストマシン上の最小アライメントをどのように説明しますか?