/SECTION (Angeben von Abschnittsattributen)

/SECTION:name,[[!]{D|E|K|P|R|S|W}][,ALIGN=number]

Hinweise

Die /SECTION Option ändert die Attribute eines Abschnitts, wobei die Attribute überschrieben werden, die beim Kompilieren der .obj Datei für den Abschnitt festgelegt wurden.

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 namean. 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 RWEoder nicht ändern Standard unverändert.

Um ein Attribut zu negieren, stellen Sie dem Zeichen ein Ausrufezeichen (!) voran. Die Bedeutungen der Attributzeichen werden in dieser Tabelle angezeigt:

Zeichen attribute Bedeutung
E Ausführen Der Abschnitt ist ausführbar.
R Lesen Ermöglicht Lesevorgängen für Daten
W Schreiben Ermöglicht Schreibvorgänge für Daten
S Freigegeben Gibt den Abschnitt für alle Prozesse frei, die das Bild laden
D Nicht zulässig Karte Markiert den Abschnitt als nicht zulässig Karte
K Zwischenspeicherbar Markiert den Abschnitt als nicht zwischenspeicherbar
P Auslagerungsfähigen 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 Eoder satz verfügt, RW 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

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen finden Sie unter Festlegen von Compiler- und Buildeigenschaften.

  2. Wählen Sie die Seite "Konfigurationseigenschaften linker>>Allgemein" aus.

  3. Ändern Sie die Eigenschaft "Section Attributes" (Abschnittsattribute angeben ). Wählen Sie "OK" aus, oder "Übernehmen", um Ihre Änderungen zu speichern.

So legen Sie diese Linkeroption programmgesteuert fest

Siehe auch

MSVC-Linkerreferenz
Linkeroptionen