メインメニューを開く

差分

メモリアライメント

30 バイト追加, 2023年12月22日 (金) 04:48
編集の要約なし
この要件は[[コンピューター]]や[[OS]]、[[ミドルウェア]]、[[ライブラリ]]などにより異なります。昨今ではメモリアライメントを[[プログラマー]]がまったく意識しなくても良い環境も存在します。
 
例えば、4バイトの整数は4バイト境界、つまりアドレスが4で割り切れる位置に配置されるべきです。
アライメントの数字はシステムにより異なります。昨今の[[パソコン]]では4バイト境界が主流であり、[[ビデオカード]]では16バイト境界が主流です。
== メモリパディング ==
メモリアライメントを調整するために無駄なデータ(や構造体にダミー変数)を挿入することを「メモリパディング」といいます。例えば4バイト境界の場合、<code>char</code>(1バイト)の後に<code>int</code>(4バイト)が来る場合、<code>char</code>の後に3バイトの無駄なデータ(パディング)を挿入します。これにより、<code>int</code>が4バイト境界に配置されます。