<sub class="descriptionSection">04-11-2024 04:30:pm // #Compiler // [[Programmierung]]</sub> ____ Der Sourcecode in C++ wird in mehreren Schritten in Maschinensprache (Bytecode, etc.) umgewandelt. Diese Schritte ähneln sich von Compiler zu Compiler, allerdings sind sie nie gleich (manche Compiler unterstützen extra Features). > [!NOTE] Info > Diese Schritte werden normalerweise alle vom Compiler automatisch ausgeführt und man muss nur noch die .out datei ausführen ## Präprozessor Im Präprozessor Schritt wird im Quellcode einige Textbausteine (#Define und # Include). Außerdem werden Kommentare entfernt DieserSchritt kann unter Linux per: ``` g++ -E quellcode.cpp ``` getrennt ausgeführt werden. ## Compiler Aus dem präprozessor quellcode wird assembler code (Maschinen befehle) in lesbarer Form (sog. MNEMONICS) gemacht. Dieser Schritt kann unter Linux so getrennt ausgeführt werden: ``` g++ -S quellcode.cpp ``` ## Assembler Der Assembler macht aus der Assembly datei eine "Objektdatei" in Maschinensprache (für CPU ausführbar) ``` g++ -c quellcode.cpp ``` ## Linker Der Linker erstellt am Ende das ausführbare Programm mit eingebauten Bibliotheken und anderen Objektdateien (also von Libraries, etc). ``` g++ -o programmname quellcode.cpp ```