section
Erstellt einen Abschnitt in einer OBJ-Datei.
#pragma section( "section-name" [, attributes] )
Hinweise
Die Bedeutung der Ausdrücke Segment und - Abschnitt in diesem Thema sind austauschbar.
Sobald ein Abschnitt definiert wird, bleibt er für den Rest der Kompilierung gültig.Sie müssen jedoch __declspec (Zuordnen) verwenden oder im Abschnitt wird nichts geschrieben.
Abschnittsname ist ein erforderlicher Parameter, der der Name des Abschnitts ist.Der Name darf nicht mit einem Standardwert kapitelnamen Konflikt auftritt.Weitere Informationen finden Sie unter /SECTION für eine Liste von Namen, die Sie nicht verwenden, wenn Sie einen Abschnitt erstellen.
attributes ist ein optionaler Parameter, die aus einem oder mehreren durch Trennzeichen getrennte Attributen besteht, die Sie zum Abschnitt zuweisen möchten.Mögliche attributes sind:
read
Ermöglicht Lesevorgänge auf Daten.write
Ermöglicht Schreibvorgänge für Daten.Ausführen
Ermöglicht den auszuführenden Code.Shared
Gibt den Abschnitt für alle Prozesse frei, die das Bild laden.nopage
Markiert einen Abschnitt, der nicht paginierbar. nützlich für Win32-Gerätetreiber.nocache
Markiert einen Abschnitt, der nicht zwischengespeichert werden. nützlich für Win32-Gerätetreiber.Verwirft
Markiert einen Abschnitt, der entfernbare. nützlich für Win32-Gerätetreiber.remove
Markiert einen Abschnitt, der nicht arbeitsspeicherresident. Nur virtuelle Gerätetreiber (VxD).
Wenn Sie keine Attribute angeben, enthält der Abschnitt und Attribute zu schreibende gelesen.
Beispiel
Im folgenden Beispiel gibt die erste Anweisung im Abschnitt und ihre Attribute.Ganzzahlige j wird nicht in mysec gesetzt, da es nicht mit __declspec(allocate)deklariert wurde. j wechselt in den Datenabschnitt ein.Die ganze Zahl i wechselt in mysec aufgrund ihres __declspec(allocate) Speicherklassen Attributs für ein.
// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;
__declspec(allocate("mysec"))
int i = 0;
int main(){}