ALink

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Version vom 9. Juli 2013, 08:43 Uhr von Georg (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ == Der Standard-Linker für Xbase++ == Eigentlich verbringt ALink ein Schattendasein. Kaum einer weiss, wie er zu konfigurieren ist, PBuild erstellt die …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der Standard-Linker für Xbase++

Eigentlich verbringt ALink ein Schattendasein. Kaum einer weiss, wie er zu konfigurieren ist, PBuild erstellt die Linkscripte im Hintergrund und entsorgt sie auch schnell wieder.

Das am meisten verwendete Interface ist hier das Schlüsselwort LINK_FLAGS in einer PBuild Projektdatei.

Gesagt werden kann nur, dass ALink recht flott ist.


Schlüsselwörter

geläufige Schlüsselwörter

/PM:VIO|PM [<major>[.<minor>]]

/PMTYPE:VIO|PM [<major>[.<minor>]]

/SUBSYSTEM:CONSOLE|WINDOWS [<major>[.<minor>]]

Alle drei Varianten erlauben es, den Umgebungstyp eines Programms zu bestimmen. Für die Varianten VIO bzw. CONSOLE sind dann keine grafischen Elemente zulässig. Zu den grafischen Elementen gehören in diesem Zusammenhang auch Befehle, die auf solche Elemente zurückgreifen, wie z.B. ConfirmBox().

Mittels der Angabe von major.minor kann festgelegt werden, ab welcher Windows-Version (aufwärts) das erstellte Programm/DLL eingesetz werden kann.


/DE

/DEBUG

Dieser Schalter weist den Linker an, Zeilennummern und Informationen zu symbolischen Namen (wie z.B. STATIC oder LOCAL) in das resultierende Objekt aufzunehmen


/DLL

Dieser Schalter weist den Linker an, keine EXE, sondern eine DLL (Dynamic Link Library) zu erstellen.


weniger geläufige Schalter

/FORCE:MULTIPLE|UNRESOLVED

In zwei Fällen reagiert der Linker verstimmt: wenn in einem Programm Verknüpfungen (wie Funktionsaufrufe oder Klassen) nicht vorhanden sind, oder eine Funktion mehrfach vorhanden ist.

Mit dem Parameter MULTIPLE akzeptiert der Linker mehrfach vorkommende Symbole, wobei die Dokumentation keine Aussagen darüber macht, welche der Definitionen in diesem Fall verwendet werden.

Mit dem Parameter UNRESOLVED wird ein Programm auch dann erstellt, wenn ein Symbol nicht aufgelöst werden kann, wobei davon auszugehen ist, dass das Programm abgebrochen wird, wenn ein nicht definiertes Symbol angesprochen wird.

Der Schalter /FORCE kann mehrmals verwendet werden (wenn beide Parameter genutzt werden sollen).


/ST:<max>[,<min>]

/STACK:<max>[,<min>]

Mit diesem Schalter kann die Stack-Grösse beeinflusst werden. Die Angaben erfolgen in Bytes, wobei das Minimum ein MB ist.


(artikelinarbeit)