pack
このセクションの内容:
構文
#pragma pack(n) #pragma pack() #pragma pack({push|pop}[,name] [,n])
パラメータ
| オプションの構造体アラインメントに |
空白のリスト | 構造体アライメントをデフォルトに復元します。 |
| 一時的な構造体アライメントを設定します。 |
| 構造体アライメントを一時的にプッシュされたアライメントから復元します。 |
| プッシュまたはポップされたオプションのアライメントラベル |
説明
このプラグマディレクティブは、struct と unionメンバの最大アライメントを指定する場合に使用します。
#pragma pack ディレクティブは、プラグマディレクティブに続く構造体の宣言から次の #pragma pack またはコンパイル ユニットの終わりまで影響します。。
注記
この結果、コードが大幅に大きくなり、構造体のメンバにアクセスする際の速度が大幅に低下する可能性があります。
ある型のアライメントおよびその型を使用して定義されるオブジェクトの制限を緩和するには、__packed または #pragma packを使用します。__packed と #pragma pack を混在させると、予期しない動作が発生することがあります。