ILINK32

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Linker für C++


Der ILINK32-Linker linkt Objektmodule (.OBJ-Dateien), Bibliotheksmodule (.LIB-Dateien) und Ressourcen, um ausführbare Dateien (.EXE, .DLL und .BPL-Dateien) zu erzeugen. ILINK32 erzeugt und verwaltet eine Reihe von Linker-Statusdateien, die diese Informationen enthalten. Diese Statusdateien ermöglichen ein inkrementelles Linken und reduzieren dadurch die Link-Dauer erheblich. Siehe Linker-Statusdateien und Debug-Informationsdatei.

Moduldefinitionsdateien

Die Moduldefinitionsdatei ist eine ASCII-Datei, die ILINK32 Aufschluss über den Inhalt und die Systemanforderungen einer Windows-Anwendung gibt. Sie können eine Moduldefinitionsdatei mit IMPDEF.EXE und Importbibliotheken aus Moduldefinitionsdateien mit IMPLIB.EXE erstellen.

Wenn keine Moduldefinitionsdatei festgelegt wurde, werden die folgenden Voreinstellungen verwendet:

CODE        PRELOAD MOVEABLE DISCARDABLE
DATA        PRELOAD MOVEABLE MULTIPLE  (for applications)
            PRELOAD MOVEABLE SINGLE    (for DLLs)
HEAPSIZE    4096
STACKSIZE   1048576

Sollen einzelne Einstellungen anders festgelegt werden, muss eine Moduldefinitionsdatei erstellt werden.

Wenn Sie die EXETYPE-Anweisung löschen, kann der Linker anhand der Optionen in der Befehlszeile den Typ des zu erzeugenden Programms bestimmen.

Anstelle des IMPORTS-Abschnitts der Moduldefinition kann eine Importbibliothek verwendet werden.

Mit dem Schlüsselwort __declspec(dllexport) oder _export können im C- und C++-Quelltext Exportfunktionen definiert und somit auf einen EXPORTS-Abschnitt verzichtet werden. Beachten Sie aber, dass Funktionen beim Export mit __declspec(dllexport) oder _export nach dem Namen und nicht nach dem Ordinalwert exportiert werden. __declspec(dllexport) ist als Exportmethode vorzuziehen.

Weitere Informationen finden Sie unter Moduldefinitionsdateien.

Linker-Statusdateien

Die vier Linker-Statusdateien haben die folgenden Dateierweiterungen:

  • .ILC (Linker-Quelltextdatei)
  • .ILD (Linker-Datendatei)
  • .ILF (andere Linker-Datei)
  • .ILS (Linker-Symboldatei)

Diese vier Dateien sind für das inkrementelle Linken erforderlich.

Sie können die Linker-Statusdateien auf der Seite Projekt > Optionen > C++-Linker folgendermaßen steuern:

  • Um die Erstellung der Linker-Statusdateien zu deaktivieren, aktivieren Sie die Option Inkrementelles Linken deaktivieren (-Gn).
  • Um die aktuellen Linker-Statusdateien zu löschen und neue Dateien beim nächsten Linken zu erstellen, aktivieren Sie die Option Vor dem Linken Status leeren (-C).

Debug-Informationsdatei

Wenn Sie Debug-Informationen in Ihre gelinkte ausführbare Datei aufnehmen, speichert ILINK32 die Debug-Informationen immer in einer separaten TDS-Debug-Datei mit dem Standardnamen <Projekt>.tds. Der Debugger liest diese Debug-Informationen. ILINK32 erzeugt diese Datei immer. Wenn Sie die Linker-Option -v (oder /v) nicht angeben, wird die Debug-Symboldatei als ungültig markiert.

DCC32.exe (der Delphi-Compiler) enthält zur Erzeugung von Debug-Symboldateien die Befehlszeilenoption -VT. Sie können mit der Option Debug-Informationen in separate TDS-Datei ausgeben auf der Seite Linken der Projektoptionen festlegen, dass der Delphi-Compiler Debug-Symboldateien erzeugen soll.

Siehe auch