ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

アラインメント

BITMAPFILEHEADERを使って読み込んだBMPファイルの構造を調べようとしたらうまく値が取れなかった。それはアラインメントが原因と分かった。調べてみたところアラインメントを調整する #pragma pack という命令があった。

#pragma pack(push, 2) // アラインメントを2バイトに変更

    // 構造体の定義など

#pragma pack(pop) // アラインメントを元に戻す

その他アラインメントを調整する命令として、__declspec(align(#)) がある。こちらはVisualC++でのみ使える。

アライメントを調べているときに分かりやすいページを見つけたのでリンク。
http://www1.kcn.ne.jp/~robe/cpphtml/html03/cpp03014.html