Compiler
Mit einem "Compiler" werden die für Menschen lesbaren Quellcode-Dateien in maschinenlesbaren Objektcode übersetzt. Da aber ein Programm in der Regel aus mehreren Quellcode-Dateien zusammengebaut wird, kann das Erstellen eines 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 fett in Klammern angegeben:
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
Glasgow Haskell Compiler - Compiler für die funktionale Programmiersprache Haskell (ghc)
iconc - Compiler für Programmiersprache Icon 🇬🇧
OpenCOBOL - freier Compiler für COBOL
Java - Der Compiler für Java-Programme heißt versionsübergreifend javac
Nuitka - ein Compiler für Python-Programme
Buildsysteme¶
aap - Verwendet Signaturen, um Probleme mit Zeitstempeln zu beheben. Unterstützt Python Skripte, zur Beschreibung des Build-Prozesses.
autoconf - Zur Erzeugung automatischer Makefiles mit configure
Make - Das traditionelle Buildsystem
cmake - Cross-platform Make 🇬🇧
scons - Ein Ersatz für make, der eine Reihe von erweiterten Möglichkeiten wie automatische Abhängigkeitsgenerierung bereitstellt. Das System baut auf Python auf.
Eine gute Übersicht über existierende Buildsysteme gibt es beim 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