Renesas Synergy™

FAQ 1008244 : 構造体パッキング指令 #pragma pack と -Xpack=num オプションを同時に指定した場合は、 どちらが優先されますか?

回答

-Xpack=numオプションの指定は、そのプログラムの先頭で #pragma pack を指定したことと同じになります。
その後に、#pragma pack の記述がある場合には、 #pragma pack の指定に従います。

(例)オプション -Xpack=2 を指定してコンパイルしているとします。

        struct S {      /* オプションによりデフォルトのパッキング値2を構造体Sのパッキング値とする。*/
                char c;
                int i;
        };
        #pragma pack(1)
        struct S1 {     /* カレントパッキング値1を構造体S1のパッキング値とする */
                char c;
                int i;
        };
        struct S  sobj;         /* 構造体のパッキング値2 */
        struct S1 s1obj;        /* 構造体のパッキング値1 */


上記のように記述した場合、構造体Sのパッキング値は 2、 構造体S1のパッキング値は 1 になります。

適用製品

V850用コンパイラパッケージ [CA850]
他にご質問がございましたら、リクエストを送信してください