C++-Linker Ausgabe
Nach oben zu C++-Linker
Projekt > Optionen > C++-Linker > Ausgabe
In diesem Dialogfeld setzen Sie Ausgabeoptionen für den C++-Linker.
Optionen | Beschreibung |
---|---|
Ziel, Übernehmen, Speichern |
Siehe Optionen für das Ziel. |
Gemeinsame Elemente |
Ausgabeoptionen des C++-Linkers werden auf allen Plattformen unterstützt: Die meisten der Optionen auf dieser Seite werden von allen C++-Linkern verwendet und daher auf allen unterstützten Zielplattformen unterstützt. Es gibt zwei Ausnahmen:
- Image-Flags (nur auf Windows-Plattformen unterstützt)
- Abschnitts-Flags (nur auf Windows-Plattformen unterstützt)
Die angegebenen Linker-Schalter (Optionen) werden von ILINK32 und ILINK64 unterstützt.
Map-Dateioptionen | Beschreibung |
---|---|
Basisadresse |
Gibt eine Image-Basisadresse für die EXE- oder DLL-Datei an. Die Ladeadresse für das erste Objekt in der Anwendung oder Bibliothek wird, wenn möglich, auf die angegebene Zahl gesetzt, und alle nachfolgenden Objekte werden an den linearen Adressgrenzen bei 64 K ausgerichtet; interne Fixups werden nicht erkannt. Wenn die Module jedoch nicht an der angegebenen Adresse geladen werden können, wandelt das Betriebssystem diese in die Standardeinstellungen um und weist interne Fixups zu. Behält die Adressverschiebungstabelle bei. Geben Sie den Wert in Hex oder Dezimal für 0x200 oder 512 Byte-Grenzen an. |
Heap-Größe, Maximum |
Gibt die Größe des reservierten Heap in hexadezimalen oder dezimalen Zahlen an. Der kleinste zulässige Wert für dieses Feld ist 0. Wenn Sie hier die reservierte Heap-Größe angeben, werden alle HEAPSIZE-Einstellungen in der Moduldefinitionsdatei überschrieben. Vorgabewert = 0x00100000 |
Heap-Größe, Minimum |
Gibt die Größe des übergebenen Heap in hexadezimalen oder dezimalen Zahlen an. Der minimal zulässige Wert für dieses Feld ist 0, und jeder angegebene Wert muss gleich oder kleiner der Option Heap-Größe, Maximum sein. Wenn Sie hier die übergebene Heap-Größe angeben, werden alle HEAPSIZE-Einstellungen in der Moduldefinitionsdatei überschrieben. Vorgabewert = 0x00001000 Nur unterstützt auf 32-Bit- und 64-Bit-Windows-Plattformen. |
Image-Kommentar-String |
Legt Kommentare fest, die in das Image (.exe, .dll, .bpl usw.) direkt nach der Objekttabelle in den PE-Datei-Header eingefügt werden sollen. Diese Kommentare können mit TDump oder ähnlichen Tools ausgelesen werden. |
Image-Beschreibung |
Speichert die angegebene Beschreibung im PE-Image. |
Image-Flags |
Ermöglicht das Setzen von verschiedenen Flags für das Image. Folgende Flags werden unterstützt:
Vorgabewert = Keiner Nur unterstützt auf 32-Bit- und 64-Bit-Windows-Plattformen. Die -Popup-Schaltfläche ist unter Gemeinsame Elemente auf den Projektoptionsseiten beschrieben. |
Map-Dateityp |
Map-Datei mit Segmenten Bezieht nur Segmente in die Map-Datei ein. Tritt ein, wenn weder Die Segmentliste enthält pro Segment eine Zeile und zeigt die Segment-Startadresse, die Segmentlänge, den Segmentnamen und die Segmentklasse. Die public Symbole werden in zwei Listen eingeteilt, die erste zeigt die Symbole in alphabetischer Reihenfolge, die zweite zeigt sie in aufsteigender Adressfolge. Symbole mit absoluten Adressen sind mit Abs gekennzeichnet. Eine Liste mit public Symbolen ist für das Debuggen sinnvoll: Viele Debugger verwenden public Symbole, wodurch sich beim Debuggen eine Referenz auf die Symboladresse herstellen lässt.
C (Kombination)
B (groß)
Mit den gesetzten Segmentoptionen werden public Symbole ohne Referenzen als bereit (idle) gekennzeichnet. Ein bereites Symbol ist ein als public definiertes Symbol in einem Modul, auf das nicht von einem EXTDEF-Record oder einem anderen Modul aus dem Link-Paket verwiesen wird. Beispielsweise zeigt dieses Fragment aus dem public Symbolabschnitt einer Map-Datei an, dass Symbol1 und Symbol3 von dem gelinkten Image nicht referenziert werden: 0002:00000874 Idle Symbol1 0002:00000CE4 Symbol2 0002:000000E7 Idle Symbol3 Keine Zuordnung erzeugen (-x) Deaktiviert die Erstellung der Standard-Linker-Map-Datei. Der Linker erzeugt standardmäßig eine Map-Datei mit folgenden allgemeinen Segmentinformationen: Liste der Segmente, Programmstartadresse und eventuelle Warn- und Fehlermeldungen, die während des Linkens erzeugt wurden. Für diese Einstellung gibt es keinen Schalter. Verwenden Sie die Option Keine Zuordnung erzeugen, um die Erstellung der Standard-Map-Datei zu unterdrücken. |
Zuordnung zu gekürzten Namen |
Gibt die C++-Bezeichner in verkürzter Form - nicht mit ihrem vollständigen Namen - in der MAP-Datei aus. Damit lässt sich feststellen, nach welchem Prinzip Namen verkürzt werden. Solche Namen werden von einigen Dienstprogrammen als Eingabe benötigt. |
BS-Version |
Gibt die Windows-Versions-ID an, unter der die Anwendung ausgeführt werden soll. Der Linker setzt das Feld für die Untersystemversion im Header der EXE-Datei auf die Zahl, die Sie in diesem Eingabefeld angeben. Sie können die Versions-ID von Windows auch im Bereich SUBSYSTEM der Moduldefinitionsdatei (DEF) angeben. Jede Versionseinstellung, die Sie in der IDE oder der Befehlszeile vornehmen, überschreibt jedoch die Einstellung in der DEF-Datei. Wenn Sie die Option OS-Version verwenden, setzt der Linker die Windows-Versions-ID auf die Zahl, die angegeben wurde. Wenn Sie z.B. |
Abschnitts-Flags |
Mit der Option Abschnitts-Flags können Sie einem benannten Image-Abschnitt Flags hinzufügen. Die Option fügt die Flags den bereits vorhandenen Standard-Flags für einen bestimmten Abschnitt hinzu. Es gibt keine Möglichkeit die Standard-Flags aus einem Abschnitt zu entfernen. Mögliche Flags sind: |
Stack-Größe, Maximum |
Gibt die Größe des reservierten Stack in hexadezimalen oder dezimalen Zahlen an. Der kleinste zulässige Wert für dieses Feld ist 4 K (0x1000). |
Stack-Größe, Minimum |
Gibt die Größe des übergebenen Stack in hexadezimalen oder dezimalen Zahlen an. Der minimal zulässige Wert für dieses Feld ist 4 K (0x1000), und jeder angegebene Wert muss gleich oder kleiner der Option Stack-Größe, Maximum sein. |
Benutzer-Version |
Gibt die Versions-ID Ihrer ausführbaren Datei an. Der Linker setzt das Feld im Header der EXE-Datei auf die Zahl, die Sie angeben. |