danke für die Klarstellung!
danke für die Klarstellung!
Grob gesagt geschehen drei Schritte im Compiler:
1. Frontend, Sprachspezifisch (bei Arduino C++): Code wird gelesen (geparst) und zu einem Syntaxbaum (A-S-T: abstact syntax tree) verarbeitet.
2. Middleend: Sprachunabhängig: A-S-T wird analysiert und optimiert.
3. Backend: Ausführbarer Code (z.B. universeller Bytecode oder CPU-Spezifischer Maschinencode) wird erstellt.
Wow, Danke für die Erleuchtung!
Diese Website "Compiler Explorer" ist mir völlig neu.
Da könnte ich meinen "Umstandscode" also mal reinhauen und schauen, was bei "komprimierte Funktion" steht.
Aber letztendlich kommt der gleiche Maschinencode bei raus? Gut zu wissen.
Ich dachte, mein Anfängercode ist langsamer und größer als einer vom Profi.
Das muss also nicht immer der Fall sein?