Freigeben über


data_seg

Gibt das Datensegment an, in dem initialisierte Variablen in der OBJ-Datei gespeichert werden.

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

Hinweise

Die Bedeutung der Ausdrücke Segment und - Abschnitt in diesem Thema sind austauschbar.

OBJ-Dateien können mit der dumpbin Anwendung angezeigt werden.Das standardmäßige Segment in der OBJ-Datei für initialisierte Variablen .data ist.Variablen, die nicht initialisiert werden, werden als initialisiert auf Null behandelt und in den bss gespeichert

data_seg ohne Parameter wird auf das Segment .data zurück.

  • push(optional)
    Setzt einen Datensatz für das intern Compilerstapel.push kann einen Bezeichner und Segment NAME haben.

  • pop (optional)
    Entfernt einen Datensatz von der obersten Position des Compilerstapel intern.

  • Bezeichner (optional)
    Wenn Sie mit push verwendet werden, ordnet einen Namen am Datensatz auf dem Compilerstapel intern zu.Wenn sie mit pop verwendet werden, zeichnet Knalle vom internen Stapel, bis Bezeichner entfernt wurde. wenn der Bezeichner nicht auf dem internen Stapel gefunden wird, wird nichts vom Stapel geholt.

    Bezeichner können mehrere mit einem einzelnen pop Befehl geholt Datensätze werden soll.

  • Segment "NAME"(optional)
    Der Name eines Segments . Wenn er mit pop verwendet wird, wird der Stapel geholt und Segment NAME wird der Name des aktiven Abschnitts.

  • Segment "Class" (optional)
    Kompatibilität mit C++ enthalten, Version 2.0, eingeführt.Sie wird ignoriert.

Beispiel

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

Die Daten, die mit data_seg zugeordnet sind, werden keine Informationen über den Speicherort an.

Weitere Informationen finden Sie unter /SECTION für eine Liste von Namen, die Sie nicht verwenden, wenn Sie einen Abschnitt erstellen.

Sie können Abschnitte für const Variablen (const_seg) nicht initialisierte Daten (bss_seg) und Functions (code_seg).

Siehe auch

Referenz

Pragma-Direktiven und das __Pragma-Schlüsselwort