Top-Fragen
Zeitleiste
Chat
Kontext
Compiler-Anweisung
Steueranweisungen im Quelltext für den Compiler Aus Wikipedia, der freien Enzyklopädie
Remove ads
Eine Compiler-Anweisung (englisch compiler directive oder pragma) ist eine in den Quelltext eingefügte Steueranweisung für den Compiler. Der Umfang und die Syntax von Compiler-Anweisungen sind von der Programmiersprache und teilweise auch vom gewählten Compiler abhängig.
Remove ads
Beispiele
Zusammenfassung
Kontext
In der Programmiersprache Algol 68 werden Compiler-Direktiven zwischen pr
und pr
oder zwischen pragmat
und pragmat
eingeschlossen.[1] Dies ist der Ursprung des Begriffs Pragmat.
C-Compiler verwenden einen C-Präprozessor, der Compiler-Direktiven interpretiert.[2] Beispielsweise weist #include <foo.h>
den Präprozessor an, den Inhalt der Datei foo.h an dieser Stelle im Quelltext einzufügen.[3] Mit der Anweisung #pragma eigenschaft
wird eine Eigenschaft dem Compiler angezeigt. Ein Beispiel für eine Eigenschaft ist die Annotation eines parallelisierbaren Code-Blocks, falls der C-Compiler den OpenMP-Standard unterstützt:
#pragma omp parallel for reduction(+:c)
for (int i = 0; i < length; ++i)
c += a[i]*b[i];
In der Programmiersprache Pascal werden Compiler-Direktiven als spezielle Kommentare definiert. Kommentare, deren erstes Zeichen ein $
ist, werden als Direktive interpretiert. Beispielsweise schaltet {$Q+}
die Codegenerierung von Indexüberprüfungen von Arrayzugriffen ein.
In der Programmiersprache Ada werden Compiler-Direktiven durch das Schlüsselwort pragma
eingeleitet. So wird z. B. mit pragma OPTIMIZE(TIME);
die Programmoptimierung gesteuert.
Der Haskell-Compiler GHC unterstützt das Setzen von Kommandozeilen-Optionen auch in der Quelltextdatei über Compiler-Direktiven. Ein Beispiel ist die Aktivierung von ghc-Haskell-Spracherweiterungen, die mit der Direktive {-# OPTIONS_GHC -fglasgow-exts #-}
angefordert wird.
In der SAP-Programmiersprache ABAP werden Pragmas verwendet, um Warnungen verschiedener Prüfwerkzeuge auszublenden.[4] Der Programmierer erklärt damit, dass er die betreffende Syntax bewusst verwendet und den konkreten Einsatz auf Unbedenklichkeit geprüft hat. So können etwa performance-kritische Anweisungen hingenommen werden, wenn im konkreten Einsatzzweck keine langen Laufzeiten zu erwarten sind oder aber bewusst toleriert werden können.
Remove ads
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads