Skip to main content

IAR Embedded Workbench for Arm 9.70.x

pack

このセクションの内容:
構文
#pragma pack(n)
#pragma pack()
#pragma pack({push|pop}[,name] [,n])
パラメータ

n

オプションの構造体アラインメントに124816のいずれか1つを設定します。

空白のリスト

構造体アライメントをデフォルトに復元します。

push

一時的な構造体アライメントを設定します。

pop

構造体アライメントを一時的にプッシュされたアライメントから復元します。

name

プッシュまたはポップされたオプションのアライメントラベル

説明

このプラグマディレクティブは、structunionメンバの最大アライメントを指定する場合に使用します。

#pragma pack ディレクティブは、プラグマディレクティブに続く構造体の宣言から次の #pragma pack またはコンパイル ユニットの終わりまで影響します。。

注記

この結果、コードが大幅に大きくなり、構造体のメンバにアクセスする際の速度が大幅に低下する可能性があります。

ある型のアライメントおよびその型を使用して定義されるオブジェクトの制限を緩和するには、__packed または #pragma packを使用します。__packed#pragma pack を混在させると、予期しない動作が発生することがあります。

関連項目

構造体型および __packed