MichaelB: compiler

Beitrag lesen

hi

was ist ein compiler ?
ich verstehe nicht ganz wie ein compiler funktioniert was er soll und warum ich das zum programmieren von c plus plus brauche

ein Compiler macht aus dem Quellcode, den du zusammentipst etwas maschinenlesbares, so dann es der Computer direkt versteht und dann eben ausführen kann.

Das ist gleich doppelt falsch.
Ein Compiler ist ein Programm, was eine Sprache in einer andere übersetzt. Die Zielsprache muss nicht zwangsläufig Maschinencode sein. Simples beispiel ist Java, wo der Standardcompiler nur Bytecode erzeugt, welcher meist nicht direkt durch die Hardware (Prozessor) ausgeführt wird.
Und das mit dem direkt ausführen ist auch bei Maschinencodecompilern nicht so. Denn es wird zunächst nur eine Objektdatei erzeugt. Zumeist muss man den Kram noch durch einen Linker jagen, damit daraus was Ausführbares wird (sonst gehen beispielsweise die Aufrufe der Biliotheksfunktionen ins Leere; mal ganz abgesehen davon das das betreffende Betriebssystem den Header vermissen wird).
Compiler und Linker sind heutzutage oft in einem Programm vereint. Das macht es schwer das zu durchschauen.
Vielleicht bin ich auch ein wenig zu genau. :-)
Aber diese Vereinfachungen in den Erklärungen nehmen doch viel Informationen weg. Sogar soviel, dass es dann schlicht und ergreifend nicht mehr der Wahrheit entspricht und die Leute dann überhaupt nicht verstanden haben, was das eigentlich ist. Und ich befürchte einfach dass driftet dann dahin ab, dass es dann irgendwann heißt: Ein Compiler ist ein Programm was eine EXE-Datei erzeugt, die man dann direkt aus dem Explorer starten kann *schüttel*

Gruss
   MichaelB
;-)