section
pragma
Erstellt einen Abschnitt in einer OBJ-Datei.
Syntax
#pragma section( "
Abschnittsname"
[,
Attribute ])
Hinweise
Die Begriffe Segment und Abschnitt haben die gleiche Bedeutung in diesem Artikel.
Sobald ein Abschnitt definiert ist, wird er für den Rest der Kompilierung neu Standard. Sie müssen jedoch nichts verwenden __declspec(allocate)
oder nichts im Abschnitt platziert werden.
Der Abschnittsname ist ein erforderlicher Parameter, der zum Namen des Abschnitts wird. Der Name darf keinem Standard-Abschnittsnamen ähneln. Eine /SECTION
Liste der Namen finden Sie beim Erstellen eines Abschnitts nicht.
Attribute sind ein optionaler Parameter, der aus einem oder mehreren durch Kommas getrennten Attributen besteht, die dem Abschnitt zugewiesen werden sollen. Mögliche Attribute sind:
attribute | BESCHREIBUNG |
---|---|
read |
Ermöglicht Lesevorgänge für Daten. |
write |
Ermöglicht Schreibvorgänge für Daten. |
execute |
Ermöglicht die Ausführung von Code. |
shared |
Gibt den Abschnitt für alle Prozesse frei, die das Image laden. |
nopage |
Markiert den Abschnitt als nicht seitenfähig. Nützlich für Win32-Gerätetreiber. |
nocache |
Markiert den Abschnitt als nicht zwischenspeicherbar. Nützlich für Win32-Gerätetreiber. |
discard |
Markiert den Abschnitt als dis Karte able. Nützlich für Win32-Gerätetreiber. |
remove |
Markiert den Abschnitt als nicht speicherresident. Nur für virtuelle Gerätetreiber (VxD). |
Wenn Sie keine Attribute angeben, verfügt read
der Abschnitt über und write
Attribute.
Beispiel
In diesem Beispiel identifiziert der erste Abschnitt den Abschnitt pragma und seine Attribute. Die ganze Zahl j
wird nicht eingefügt mysec
, weil sie nicht mithilfe __declspec(allocate)
von Deklarationen deklariert wurde. j
Wechseln Sie stattdessen in den Datenabschnitt. Die ganze Zahl i
wird aufgrund des __declspec(allocate)
Speicherklassen-Attributs eingefügtmysec
.
// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;
__declspec(allocate("mysec"))
int i = 0;
int main(){}
Siehe auch
Pragma-Direktiven und die __pragma
und _Pragma
Schlüsselwort (keyword)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für