/SECTION
(Angeben von Abschnittsattributen)
/SECTION:
name
,
[[!
]{D
E
|K
||P
|S
W
R
||}][],ALIGN=
number
Hinweise
Die /SECTION
-Option ändert die Attribute eines Abschnitts, wobei die Attribute überschrieben werden, die festgelegt wurden, als die .obj
-Datei für den Abschnitt kompiliert wurde.
Ein Abschnitt in einer portablen ausführbaren Datei (PORTABLE Executable, PE) ist ein benannter zusammenhängender Speicherblock, der entweder Code oder Daten enthält. Einige Abschnitte enthalten Code oder Daten, die ihr Programm direkt deklariert und verwendet. Andere Datenabschnitte werden für Sie vom Linker und Bibliotheks-Manager (LIB) erstellt und enthalten Informationen, die für das Betriebssystem von entscheidender Bedeutung sind. Weitere Informationen finden Sie unter PE-Format.
Geben Sie einen Doppelpunkt (:
) und einen Abschnittsnamen name
an. Die Groß name
-/Kleinschreibung wird beachtet.
Verwenden Sie nicht die folgenden Namen, da sie mit Standardnamen in Konflikt geraten. Wird beispielsweise .sdata
auf RISC-Plattformen verwendet:
.arch
.bss
.data
.edata
.idata
.pdata
.rdata
.reloc
.rsrc
.sbss
.sdata
.srdata
.text
.xdata
Geben Sie ein oder mehrere Attribute für den Abschnitt an. Bei den unten aufgeführten Attributzeichen wird die Groß-/Kleinschreibung nicht beachtet. Sie müssen alle Attribute angeben, über die der Abschnitt verfügen soll. Ein ausgelassenes Attributzeichen bewirkt, dass das Attributbit deaktiviert wird. Wenn Sie den vorhandenen Lese-, Schreib- oder ausführbaren Status nicht angeben oder E
nicht angebenR
W
, bleibt der vorhandene Lese-, Schreib- oder ausführbare Status unverändert.
Um ein Attribut zu negieren, stellen Sie dem Zeichen ein Ausrufezeichen (!
) voran. Die Bedeutungen der Attributzeichen werden in dieser Tabelle angezeigt:
Zeichen | Attribut | Bedeutung |
---|---|---|
E |
Ausführen | Der Abschnitt ist ausführbar. |
R |
Lesen Sie | Ermöglicht Lesevorgängen für Daten |
W |
Schreiben | Ermöglicht Schreibvorgänge für Daten |
S |
Shared | Gibt den Abschnitt für alle Prozesse frei, die das Bild laden |
D |
Discardable | Markiert den Abschnitt als verworfen |
K |
Zwischenspeicherbar | Markiert den Abschnitt als nicht zwischenspeicherbar |
P |
Seitenfähig | Markiert den Abschnitt als nicht seitenfähig |
K
und P
sind ungewöhnlich, dass die Abschnittskennzeichnungen, die ihnen entsprechen, im negativen Sinne verwendet werden. Wenn Sie eine davon im .text
Abschnitt mithilfe der /SECTION:.text,K
Option angeben, gibt es keinen Unterschied in den Abschnittskennzeichnungen, wenn Sie mit der /HEADERS
Option ausgeführt DUMPBIN
werden. Der Abschnitt wurde bereits implizit zwischengespeichert. Um den Standardwert zu entfernen, geben Sie stattdessen an /SECTION:.text,!K
. DUMPBIN zeigt Abschnittsmerkmale an, einschließlich "Nicht zwischengespeichert".
Ein Abschnitt in der PE-Datei, der nicht über E
oder satz verfügt, R
W
ist wahrscheinlich ungültig.
Mit dem ALIGN=
number
Argument können Sie einen Ausrichtungswert für einen bestimmten Abschnitt angeben. Das number
Argument ist in Byte und muss eine Potenz von zwei sein. Weitere Informationen finden Sie unter /ALIGN
.
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen finden Sie unter Festlegen von Compiler- und Buildeigenschaften.
Wählen Sie die Seite "Konfigurationseigenschaften linker>>Allgemein" aus.
Ändern Sie die Eigenschaft "Section Attributes" (Abschnittsattribute angeben ). Wählen Sie OK oder Übernehmen, um die Änderungen zu speichern.
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe AdditionalOptions.