Udostępnij za pośrednictwem


data_seg

Określa, gdzie zainicjować zmienne są przechowywane w pliku .obj segmentu danych.

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

Uwagi

Znaczenie terminów segment i sekcji są wymienne, w tym temacie.

OBJ pliki mogą być wyświetlane z dumpbin aplikacji.Segmentem domyślnym pliku .obj zainicjować zmiennych jest .data.Niezainicjowanych zmiennych są uważane za zainicjowane do zera i są przechowywane w .bss.

data_seg bez parametrów resetuje segmentu .data.

  • wypychania(opcjonalnie)
    Umieszcza rekordu wewnętrznego stosu kompilatora.A kampanii może mieć identyfikatora i Nazwa segmentu.

  • POP (opcjonalnie)
    Usuwa rekord z wierzchu stosu wewnętrznego kompilatora.

  • Identyfikator (opcjonalnie)
    Gdy używana z wypychania, przypisuje nazwę rekordu na stosie wewnętrznego kompilatora.Z pop, punkty obecności rekordów wewnętrznego stosu do identyfikatora usunięte; Jeśli identyfikatora nie zostanie znaleziony na stosu wewnętrznego, nic nie jest tam pojawi.

    Identyfikator wielu rekordów się tam pojawi pojedynczym pop polecenia.

  • "Nazwa segmentu"(opcjonalnie)
    Nazwa segmentu*.* Gdy używana z pop, stos jest tam pojawi i Nazwa segmentu staje się aktywny segment nazwę.

  • "segment klasy" (opcjonalnie)
    Włączone dla zgodności z C++ w wersji 2.0.Jest ignorowana.

Przykład

// 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() {
}

Dane przydzielonych za pomocą data_seg nie zachowuje żadnych informacji o lokalizacji.

Zobacz /Section listę nazw, nie należy używać podczas tworzenia sekcji.

Można również określić sekcje const zmiennych (const_seg), niezainicjowanych danych (bss_seg), a funkcje (code_seg).

Zobacz też

Informacje

Dyrektywy pragma i __Pragma słowa kluczowego