[[Inhaltsverzeichnis(2)]] 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: * [:GCC:GNU Compiler Collection] (GCC) - Compiler für Ada ('''gnat'''), C ('''gcc'''), C++ ('''g++'''), ObjectiveC ('''gobjc'''), Fortran ('''gfortran'''), Java ('''gcj''') und Go ('''gccgo'''). * Im [:GNU: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 [http://www.cs.arizona.edu/icon/ Icon] {en} * [:OpenCOBOL:] - freier Compiler für COBOL * [:Java##JDK-SDK:Java] - Der Compiler für Java-Programme heißt versionsübergreifend javac ## * [:GNU_ARM-Toolchain:] - Cross-Compiler und Debugger für ARM-Mikrocontroller = 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''' * [:Makefile:Make] - Das traditionelle Buildsystem * '''cmake''' - [http://www.cmake.org Cross-platform Make] {en} * '''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 [http://www.a-a-p.org/tools_build.html A-A-P Projekt] {en}. = 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 [http://www.codesourcery.com/qmtest/ CodeSourcery] {en} = Links = * [:Programmierung:] {Übersicht} Übersichtsartikel # tag: Programmierung, Übersicht