data_seg
指定初始化的變數儲存在.obj 檔中的資料區段。
#pragma data_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )
備註
詞彙的意義區段 和 一節能互相對換本主題中。
調換 OBJ 檔案可以檢視與 dumpbin 應用程式。 初始化變數的.obj 檔中的預設區段是.data。 未初始化的變數會被視為會初始化為零,並且儲存在.bss.
data_seg 不含任何參數將該區段重設.data。
推入(可省略)
內部編譯器堆疊上,會將一筆資料錄。 A 推入 可以讓 識別項 和 區段名稱。pop (可省略)
內部編譯器堆疊的頂端會移除資料錄。識別項 (可省略)
搭配使用時推入,將名稱指派給內部編譯器堆疊上的資料錄。 搭配使用時 pop,取出記錄之前內部堆疊 識別項會被移除。 如果識別項中找不到內部堆疊中,執行任何動作被取出。識別項 可讓取出,以單一的多筆記錄 pop 指令。
"區段名稱"(可省略)
區段名稱*.*搭配使用時 pop,堆疊取出,並 區段名稱會變成使用中的區段名稱。「 區段類別 」 (可省略)
包含 C++ 之前至 2.0 版本的相容性。 它會被忽略。
範例
// pragma_directive_data_seg.cpp
int h = 1; // stored in .data
int i = 0; // stored in .bss
#pragma data_seg(".my_data1")
int j = 1; // stored in "my_data1"
#pragma data_seg(push, stack1, ".my_data2")
int l = 2; // stored in "my_data2"
#pragma data_seg(pop, stack1) // pop stack1 off the stack
int m = 3; // stored in "stack_data1"
int main() {
}
配置使用的資料 data_seg 不保留任何它的位置的相關資訊。
請參閱 /SECTION 為一系列建立區段時,不應該使用的名稱。
您也可以指定 const 變數的區段 (const_seg),未初始化的資料 (bss_seg),和函式 (code_seg)。