Ein Präprozessor ändert den C / C ++ - Code bevor er kompiliert wird (daher pre Prozessor).
Präprozessor ifs werden bei Kompilierzeit ausgewertet.
C / C ++ ifs werden bei Laufzeit ausgewertet.
Sie können Dinge tun, die zur Laufzeit nicht möglich sind.
Passen Sie den Code für verschiedene Plattformen oder verschiedene Compiler an:
%Vor% Stellen Sie sicher, dass Header-Dateidefinitionen nur einmal enthalten sind (äquivalent zu #pragma once
, aber portabler):
Sie können Dinge schneller machen als zur Laufzeit.
%Vor% Nun, wenn das Kompilieren mit DEBUG
nicht definiert ist (wahrscheinlich ein Befehlszeilenparameter für Ihren Compiler), können alle Aufrufe von some_debug_function
vom Compiler weg optimiert werden.
Preprocessor ermöglicht es Ihnen, in Ihre Quelldatei, den zu kompilierenden Code, auszuschneiden oder einzufügen. Wenn es ausgeschnitten ist, ist es weg, es ist wie ein Kommentar, tut nichts, wird nicht kompiliert, produziert keinen Code in der Binärdatei. Entwickler verwenden diese Technik häufig, um Code nur im Debug-Build für Debugging-Zwecke oder zum Hinzufügen oder Ausschließen von Code für bestimmte Betriebssysteme hinzuzufügen.
Tags und Links c++ if-statement c-preprocessor preprocessor-directive