Skip to main content

Was ist eine bedingte Zusammenstellung?

Bei der Computerprogrammierung beschreibt die bedingte Kompilierung die Fähigkeit eines Software-Compiler- oder Quellcodeprozessors, bestimmte Befehle oder Codeblöcke basierend auf sprachspezifischen Anweisungen einzubeziehen oder zu ignorieren, die technisch nicht Teil der Kernprogrammiersprachenspezifikation sind.Die Befehle, mit denen die bedingte Zusammenstellung in einem Programm häufig ausgelöst wird, werden häufig als Pre-Processor-Richtlinien bezeichnet, obwohl sie auch als Compiler-Richtlinien, bedingte Kommentare oder bedingten Defines bezeichnet werden können.Abhängig vom verwendeten Compiler oder der zu verwendenden Sprache können die bedingten Anweisungen benutzerdefinierte Variablen oder Makros sein, oder sie können auch Systemvariablen sein, die vom Compiler oder dem Betriebssystem festgelegt werden.Bedingte Kompilierung häufig wird verwendet, um einen einzelnen Satz von Quellcodedateien zu konfigurieren, damit sie unter verschiedenen Umgebungen oder Betriebssystemen kompiliert werden können, ohne die Quelldateien auszutauschen oder zu ändern.

Die bedingten Defines, die zum Testen auf die bedingte Kompilierung verwendet werdenEine Sprache zur anderen, aber im Allgemeinen sind sie Makros oder andere Meta-Daten-Ausdrücke außerhalb des Umfangs der normalen Programmvariablen.In Sprachen wie C sind die Variablen normalerweise Makros, die von einem Pre-Processor gelesen werden.Meistens sind die Makros nicht über den tatsächlichen ausführbaren Programmquellcode zugänglich, obwohl sie in denselben Quelldateien vorhanden sind.-Then Aussage.Die grundlegenden Tests, die für die bedingte Kompilierung durchgeführt werden können, sind, ob ein Wert definiert, nicht definiert oder in einigen Fällen, ob zwei definierte Variablen äquivalent sind.Die Variablen oder Makros selbst haben im Allgemeinen keinen Wert von Bedeutung, da die Definition der Anweisungen die Richtlinien überprüft.Mit einigen Sprachen und Compilern kann der Wert einer definierten Variablen jedoch eine Rolle spielen, wenn sie für den booleschen Zustand bewertet werden.

Wenn ein Compiler -Anweisungen für die bedingte Kompilierung begegnet ist, werden die Richtlinien bewertet, um festzustellen, ob sie als wahr oder falsch testen.Wenn der Code, der der Richtlinie folgt, wird als normal zusammengestellt.Andernfalls überspringt der Compiler den in der Richtlinie enthaltenen Code vollständig.Dies unterscheidet sich von bedingten Logikanweisungen im ausführbaren Programmcode selbst, da die Logik einen Codeblock hat, der nicht ausgeführt werden kann, in den meisten Fällen immer noch interpretiert und kompiliert wird.Mit bedingten Richtlinien vor dem Prozessor wird der übersprungene Code nie enthalten, interpretiert oder kompiliert.Es ist auch zu beachten, dass der Vorverarbeitungsor, sobald er alle bedingten Variablen und Richtlinien bewertet hat, nicht mit dem Rest des Programms zusammengestellt wirdWird verwendet, um Code einzuschließen oder auszuschließen, der für ein bestimmtes Betriebssystem oder eine bestimmte Umgebung spezifisch ist.Dies bedeutet, dass Bibliotheken, die in einem Betriebssystem existieren, bedingt einbezogen werden können, wenn die Richtlinien feststellen, dass das Programm unter diesem Betriebssystem zusammengestellt wird.Alternativ können die Direktiven auch verwendet werden, um Code basierend auf benutzerdefinierten Variablen einzuschließen oder auszuschließen.Dies kann so erfolgen, dass das Debugging oder Profiling -Code nicht in der endgültigen Version eines Programms enthalten ist, oder so können bestimmte Funktionen aktiviert oder deaktiviert werden, ohne separate Kopien des Codes verwalten zu müssen.