compiliervorgang

Hi Leutz!

Ich wollte mal fragen was genau (im Detail) ein C++ Compiler beim compilieren macht. Also wenn man z.B. zu einer exe Datei compiliert wie dann aus z.B. "programm.cpp" ne "programm.exe" wird.
Das muss ja irgend etwas geschehen...das die Files einfach nur umbenannt werden kann ich mir nur schwer vorstellen!

cya Brabax
 
ich hoffe, es findet sich jemand, der das genauer ausdrücken kann. in kürze nur soviel:
der compiler
"übersetzt" den quelltext in eine sprache, die dein rechner versteht
 
Hi Brabax,

wie blueflash schon erwähnte, macht ein Compiler nichts anderes als

a) den Code auf syntaktische Fehler zu überprüfen (z.B. Prüfung auf fehlende Variablen-Definition und typ-gerechte Verwendung, ...)

b) Codestrecken zu analysieren und evt. Optimierungen vorzunehmen (z.B. durch Umstellen von Schleifen), je nach eingestelltem Optimierungsgrad

c) maschinenlesbaren Assemblercode aus den human-readable C++-Sourcen zu erzeugen. Dabei entstehen die sogenannten Objektdateien (.obj)

Um nun schlußendlich ne Exe zu erzeugen braucht man noch den sogenannten Linker. Dieser fügt die Objektdateien zusammen, stellt nötigte informationen zusammen (z.B. Relocation-Tabelle) und bastelt daraus dann die EXE-Datei.

Klarer geworden ?
- Bit'chen
 
Zurück
Oben