Compiler
Mit einem "Compiler" werden die für Menschen lesbaren Quellcodedateien in maschinenlesbaren Objektcode übersetzt. Da aber ein Programm in der Regel aus mehreren Quellcodedateien zusammengebaut wird, kann das Erstellen des Programms von Hand eine ziemlich langwierige und fehleranfällige Arbeit werden. Um diesen Prozess zu automatisieren und zu unterstützen, werden "Buildsysteme" eingesetzt.
Informationen und einzelne Programme aus diesen beiden Gruppen werden in diesem Artikel aufgeführt.
Compiler¶
Die Pakete, die die jeweiligen Compiler enthalten, werden in der folgenden Liste in Klammern fett angegeben:
Die GNU Compiler Collection (GCC) - Compiler für Ada (gnat), C (gcc), C++ (g++), ObjectiveC (gobjc), Fortran (gfortran), Java (gcj) und Go (gccgo).
Im GNU-Projekt enthalten: D (gdc), Eiffel (smarteiffel), Lisp (gcl), Pascal (gpc) und Prolog (gprolog)
fpc - Compiler für Free Pascal
distcc - auf mehreren Rechner parallel kompilieren
Icecream - eine Alternative zu distcc
Glasgow Haskell Compiler - Compiler für die funktionale Programmiersprache Haskell (ghc)
iconc - Compiler für Programmiersprache Icon 🇬🇧
OpenCOBOL - freier Compiler für COBOL
Buildsysteme¶
aap Verwendet Signaturen, um Probleme mit Zeitstempeln zu beheben. Unterstützt Python Skripte, zur Beschreibung des Build-Prozesses.
autoconf Das configure Tool, zur Erzeugung automatischer Makefiles.
Make Das traditionelle Buildsystem.
cmake Cross-platform Make 🇬🇧
scons Ein Ersatz für make, das eine Reihe von erweiterten Möglichkeiten, wie automatische Abhängigkeitsgenerierung, bereitstellt. Das System baut auf Python auf, so dass die gesamte Mächtigkeit Pythons zur Kontrolle des Compilation-Prozesses zur Verfügung gestellt wird.
Eine gute Übersicht über existierende Buildsysteme gibt es unter A-A-P Projekt 🇬🇧.
Hilfreiche Werkzeuge¶
acovea - Analyse von Compiler-Optionen mit Hilfe evolutionärer Optimierungsalgorithmen
ccache - Cache für Compiler-Resultate, um das erneute Kompilieren zu beschleunigen
cmix - Werkzeug, das versucht, gegebenen C-Code auf Geschwindigkeit zur Laufzeit hin zu beschleunigen
distcc - Verteilt den Buildprozess auf verschiedene Computer, um Zeit beim Kompilieren sparen
qmtest - Ein Test-Framework zum Qualitätsmanagement von CodeSourcery 🇬🇧
Links¶
Programmierung Übersichtsartikel