これが何度も回答されていると思われる場合はご容赦ください。ただし、次の質問に対する回答が必要です。
なぜデータを (2 バイト / 4 バイト / 8 バイト境界で) 揃える必要があるのですか? ここで私の疑問は、CPU にアドレス ライン Ax Ax-1 Ax-2 ... A2 A1 A0 がある場合、メモリ位置を順番にアドレス指定することがかなり可能であるということです。では、なぜ特定の境界でデータを揃える必要があるのでしょうか?
コードをコンパイルして実行可能ファイルを生成するときにアライメント要件を見つけるにはどうすればよいですか?
たとえば、データ アライメントが 4 バイト境界である場合、連続する各バイトがモジュロ 4 オフセットに配置されていることを意味しますか? 私の疑問は、データが 4 バイトにアラインされている場合、それはバイトが 1004 にある場合、次のバイトが 1008 (または 1005) にあるということですか?