bss_seg

初期化されていない変数は .obj ファイルに格納されているセグメントを指定します。

#pragma bss_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )

解説

Obj ファイルは dumpbin のアプリケーションで表示できます。初期化されていないデータの .obj ファイルの既定のセグメントは .bss です。場合によっては bss_seg の使用は 1 個のセクションで初期化されていないデータをグループ化して読み込み時間を短縮できます。

パラメーター なしの bss_seg .bss はセグメントをリセットします。

  • プッシュ (省略可能)
    コンパイラの内部スタックにレコードを配置します。 プッシュ識別子線分名前 を付けること できます。

  • pop (省略可能)
    コンパイラの内部スタックの最上位からレコードを削除します。

  • 識別子 (省略可能)
    プロジェクトの名前コンパイラの内部スタックのレコードに プッシュ に使用された場合。pop を使用するとpop は内部スタックから 識別子が 削除されるまで記録します ; 識別子が 内部スタックにいない場合は何も操作では鳴りません。

    pop の一つのコマンドとポップする 識別子の 複数のレコード。

  • セグメント 「 Name 」 (省略可能)
    セグメントの名前 *。*pop を使用するとスタックがポップされ セグメント名は アクティブなセグメント名になります。

  • 「 segment 」クラス (省略可能)
    バージョン 2.0 までは C++ の互換性のためにインクルードされます。これは無視されます。

使用例

// pragma_directive_bss_seg.cpp
int i;                     // stored in .bss
#pragma bss_seg(".my_data1")
int j;                     // stored in "my_data1"

#pragma bss_seg(push, stack1, ".my_data2")   
int l;                     // stored in "my_data2"

#pragma bss_seg(pop, stack1)   // pop stack1 from stack
int m;                     // stored in "stack_data1"

int main() {
}

また初期化 data_seg データ () では関数 code_seg()および定数の変数 ()const_seg するセクションを指定できます。

bss_seg のプラグマを使用して割り当てられたデータは位置に関する情報が保持されません。

使用するな名前の一覧についてはを参照してください /SECTION セクションを作成する場合。

参照

関連項目

プラグマのディレクティブと __Pragma のキーワード