Compiler-Anweisung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

In der Informatik versteht man unter Compiler-Anweisung (oder engl. compiler directive) in den Quelltext eingefügte Steueranweisungen für den Compiler. Der Umfang und die Syntax von Compiler-Anweisungen sind von Compiler zu Compiler verschieden und in der Compiler-Dokumentation beschrieben.

Beispiele[Bearbeiten]

C-Compiler verwenden einen C-Präprozessor, der Compiler-Direktiven interpretiert. Beispielsweise weist #include <foo.h> den Präprozessor an, den Inhalt der Datei foo.h an dieser Stelle im Quelltext einzufügen. 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.