Erstellungsprozess

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Erstellungsprozess oder Build-Prozess (von englisch to build „bauen“) bezeichnet in der Programmierung einen Vorgang, durch den ein fertiges Anwendungsprogramm automatisch erzeugt wird.

Ablauf[Bearbeiten]

Der Erstellungsprozess besteht typischerweise aus der Code-Kompilierung und dem Linken des kompilierten Codes an Bibliotheken.

Da ein Erstellungsprozess automatisiert ausgeführt wird, benötigt das ausführende Erstellungsprogramm eine formale Beschreibung der durchzuführenden Programm- oder Funktionsaufrufe (Compiler, Linker, etc.) sowie der Abhängigkeiten dieser Aufrufe untereinander. Die Abhängigkeitsbeschreibung orientiert sich an der Struktur eines Erstellungsprozesses. So lassen sich zum Beispiel Abhängigkeiten auf Basis der verwendeten Dateiendungen definieren. Beispielsweise kann man definieren, dass jede C-Datei (erkennbar an der Endung „.c“) in eine Objektdatei (erkennbar an der Endung „.o“) gleichen Namens, aber mit anderer Endung, umgewandelt werden soll.

Um den Vorgang zu beschleunigen, ist es sinnvoll, nur solche Operationen durchzuführen, deren Eingabedaten sich seit der letzten Durchführung verändert haben. Das heißt, eine Objektdatei braucht nur dann neu erzeugt zu werden, wenn sich eine der korrespondierenden Quelldateien verändert hat.

Abhängigkeiten können auch zwischen Dateien gleichen Typs bestehen, wenn zum Beispiel eine Quelldatei andere Quelldateien „importiert“, sie also automatisch eingefügt werden. Ebenso ist es möglich, Quelldateien mit Hilfe von Code-Generatoren generieren zu lassen.

Erweiterter Prozess[Bearbeiten]

Neben dem ausführbaren Anwendungsprogramm können auch andere Produkte, wie zum Beispiel ein Installationsprogramm oder technische Dokumentation erzeugt werden.

In komplexen Softwareentwicklungsumgebungen ist die Einrichtung, Beschreibung und Pflege von Erstellungsprozessen Teil des Build-Managements.

Liste von Programmen[Bearbeiten]

Programme zur Durchführung von Erstellungsprozessen sind

Weblinks[Bearbeiten]