6. BIND2EXE - Der EXE-Binder
Das Dienstprogramm BIND2EXE dient zum Erstellen eines eigenständig
lauffähigen Programms aus einer im Win32-Format vorliegenden Programmdatei.
Durch BIND2EXE wird diese Datei mit dem Kernel, dem Programmlader und dem DOS-Extender
sowie weiteren optionalen Laufzeit-Modulen in eine ausführbare Programmdatei "verschmolzen".
In der Regel startet DLINK32 nach Beendigung des Linkvorgangs
automatisch dieses Programm zur Erstellung einer DiceRTE-Anwendung.
6.1 Optionen
Der Aufruf von BIND2EXE geschieht auf folgende Weise :
bind2exe [Optionen] Quelldatei [Zieldatei]
Dabei gilt :
-
Optionen legen einige Eigenschaften der zu erzeugenden Programmdatei
fest. Den Optionen muß ein '-' oder '/' vorangestellt werden, damit diese beim Aufruf
erkannt werden :
-ixxx
Integriert die angegebene dynamische Linkbibliothek in die Programmdatei,
z.B. '-icrtd.dll'. Hierdurch wird das Einladen der entsprechenden DLL zur
Laufzeit beschleunigt.
-kxxx
Legt den Namen einer Konfigurationsdatei fest, die einige Optionen
für die Eigenschaften des Kernels enthält (siehe unten).
-mN
Legt die Meldungsstufe beim Aufruf des Programms fest. Folgende Werte
sind für N erlaubt :
0 = keine Initialisierungsmeldungen anzeigen
1 = Copyright-Info anzeigen
2 = Ausgabe aller Status- und Modulinformationen
Wird diese Option nicht angegeben, wird automatisch der Standardwert
'0' benutzt
Bei den Optionen wird nicht zwischen Groß- und Kleinschreibung unterschieden.
-
Quelldatei ist der Name der Datei, die durch DLINK32 erzeugt wurde.
Wird keine Dateierweiterung angegeben, wird automatisch .EXE benutzt.
-
Zieldatei ist der neue Name der ausführbaren Datei (Standarderweiterung :
.EXE). Wird der Zielname nicht angegeben, wird die Quelldatei überschrieben.
Ein Aufruf von BIND2EXE kann also folgendermaßen aussehen :
bind2exe test
bind2exe -ktest.def test
bind2exe -m1 test
bind2exe -ktest.def -m0 -icrtd.dll test.exe testneu.exe
6.2 Benutzung von Konfigurationsdateien
Mit Hilfe von Konfigurationsdateien können einige Einstellungen
für das Laufzeitsystem festgelegt werden, welches das Laden und die
Steuerung des Programms übernimmt. Eine solche Konfigurationsdatei
ist eine Textdatei, die die folgenden Angaben enthalten kann :
XMMIN=nnn
Legt die minimal zur Verfügung stehende Größe des erweiterten
Speichers in KB zum Zeitpunkt des Programmaufrufs fest (Standardwert :
2048, auch Minimalwert). Ist zum Zeitpunkt des Aufrufs des Programms nicht
genug erweiterter Speicher verfügbar, wird die Ausführung mit
einer Fehlermeldung beendet
XMMAX=nnn
Legt die maximale Größe des erweiterten Speichers
in KB fest, die dem Programm anfänglich zur Verfügung gestellt wird
(Standardwert: 10240). Ist zum Zeitpunkt des Programmaufrufs weniger
erweiterter Speicher verfügbar, wird die verfügbare Menge benutzt
und diese Angabe ignoriert. Ist jedoch mehr vorhanden, wird zunächst maximal
dieser Wert benutzt.
XMALIGN=nnn
Dieser Wert legt die Ausrichtung von zur Laufzeit zusätzlich allokierten
Speicherbereichen fest. Geht der mit XMMAX vorgegebene Speicher-Pool zuende,
werden dynamisch weitere Speicherbereiche reserviert, die auf den
hier eingestellten Wert aufgerundet werden. Auch dieser Wert steht für KB
(Voreinstellung: 64).
6.3 Zusätzliche Komponenten
Mit der Option '-i' haben Sie die Möglichkeit, DLL-Module, die
durch den Programmlader aufgrund von Import-Informationen geladen werden
müssen, direkt in die ausführbare Datei zu integrieren, damit
diese zusammen mit der eigentlichen Applikation geladen und damit schneller
installiert werden können, denn auch die Suche nach der DLL durch
den Programmlader entfällt. Der Nachteil dieser Methode ist jedoch,
daß bei der Änderung einer der integrierten DLLs die Programmdatei
mit BIND2EXE nochmals erstellt werden muß, um die Änderungen
bei der Programmausführung zu reflektieren. Die Anzahl der in der
Programmdatei integrierbaren Module ist auf 64 begrenzt.