[[Inhaltsverzeichnis(2)]] 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: * [:GCC: 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: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/Installation: Java installieren] ## * [: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''' Das configure Tool, zur Erzeugung automatischer Makefiles. * [:Makefile: Make] Das traditionelle Buildsystem. * '''cmake''' [http://www.cmake.org Cross-platform Make] {en} * '''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 [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