FAQ 0132: Wie kann ich mit meinem Programm eine EXE erstellen?
von Florian Rittmeiser
Frage
Wie kann ich mit meinem Programm eine EXE erstellen?
Antwort
Um eine funktionsfähige EXE zu erzeugen, bedarf es normalerweise eines Compilers und eines Linkers.
Die Aufgabe des Compilers ist es, den Quellcode, der z. B. in Basic, C, C++, Delphi oder Brainfuck geschrieben ist, in Maschinencode zu übersetzen. Meist wird hierbei noch eine Form von Zwischensprache verwendet (häufig Assembler oder C) um weitere Optimierungen durchführen zu können.
Der Linker setzt die übersetzen Maschinencodeteile zusammen, sodaß aus den übersetzen Maschinencodeteilen ein lauffähiges Programm wird.
In der VB-Entwicklungsumgebung geschieht dies alles über den Menüpunkt "Datei" -> "Dateiname erstellen...".
Einen Compiler kann man auch in VB implementieren, es sei jedoch davor gewarnt, daß ein kleiner, sauber programmierter Compiler einiges an Entwicklungszeit in Anspruch nimmt.
Beispiele findet sich unter Viking 2.2 (bei vbfun.de) und FastBasic Compiler 2.0 (ebenfalls bei vbfun.de), wobei der erstgenannte Code als Beispiel nicht zu sehr herangezogen werden sollte, da ein klassischer Compiler seine Arbeit in mehreren fest definierte Phasen zerlegt, was bei Viking nicht der Fall ist.
Als Buch zum Thema sei dem Leser das sogenannte Drachenbuch (Compilerbau Teil1) von Alfred V. Aho, Ravi Sethi und Jeffrey D. Ullman ans Herz gelegt.
Bevor man jedoch zur Lösung seines Programmierproblemes einen Compiler schreibt, sollte man zunächst Alternativen in Erwägung ziehen. Welche Alternativen es zur Lösung des jeweiligen Problems gibt, erfährt man zumeist durch eine entsprechend formulierte Frage im Hauptforum (bzw. in einem zum Thema passenden Forum).
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.