<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Compiler-Anweisung</id>
	<title>Compiler-Anweisung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Compiler-Anweisung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Compiler-Anweisung&amp;action=history"/>
	<updated>2026-06-01T03:30:24Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Compiler-Anweisung&amp;diff=882455&amp;oldid=prev</id>
		<title>imported&gt;Leniesco: Quelle ergänzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Compiler-Anweisung&amp;diff=882455&amp;oldid=prev"/>
		<updated>2025-05-08T13:00:05Z</updated>

		<summary type="html">&lt;p&gt;Quelle ergänzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen}}&lt;br /&gt;
Eine &amp;#039;&amp;#039;&amp;#039;Compiler-Anweisung&amp;#039;&amp;#039;&amp;#039; ({{enS|compiler directive}} oder &amp;#039;&amp;#039;pragma&amp;#039;&amp;#039;) 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.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
In der Programmiersprache [[Algol 68|Algol&amp;amp;nbsp;68]] werden Compiler-Direktiven zwischen &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;pr&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;pr&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; oder zwischen &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;pragmat&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;pragmat&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; eingeschlossen.&amp;lt;ref&amp;gt;{{Webarchiv | url=http://burks.brighton.ac.uk/burks/language/other/a68rr/rr9.htm#92 | wayback=20071017051614 | text=&amp;#039;&amp;#039;Revised Report on the Algorithmic Language ALGOL 68&amp;#039;&amp;#039;.}}&amp;lt;/ref&amp;gt; Dies ist der Ursprung des Begriffs &amp;#039;&amp;#039;Pragmat&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[[C (Programmiersprache)|C]]-Compiler verwenden einen [[C-Präprozessor]], der Compiler-Direktiven interpretiert.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://gcc.gnu.org/onlinedocs/cpp/Pragmas.html |titel=Pragmas (The C Preprocessor) |abruf=2025-02-26}}&amp;lt;/ref&amp;gt; Beispielsweise weist &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;  style=&amp;quot;white-space: nowrap&amp;quot; inline&amp;gt;#include &amp;lt;foo.h&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; den Präprozessor an, den Inhalt der Datei &amp;#039;&amp;#039;foo.h&amp;#039;&amp;#039; an dieser Stelle im Quelltext einzufügen.&amp;lt;ref&amp;gt;{{Literatur |Autor=Jörg Wiegelmann |Titel=Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller: C-Programmierung für Embedded-Systeme |Auflage=7., neu bearbeitete und erweiterte Auflage |Verlag=VDE Verlag GmbH |Ort=Berlin Offenbach |Datum=2017 |ISBN=978-3-8007-4328-5 |Seiten=19 Abs. 3.2.7 Präprozessor}}&amp;lt;/ref&amp;gt; Mit der Anweisung &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;  style=&amp;quot;white-space: nowrap&amp;quot; inline&amp;gt;#pragma eigenschaft&amp;lt;/syntaxhighlight&amp;gt; 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:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#pragma omp parallel for reduction(+:c)&lt;br /&gt;
 for (int i = 0; i &amp;lt; length; ++i)&lt;br /&gt;
     c += a[i]*b[i];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Programmiersprache [[Pascal (Programmiersprache)|Pascal]] werden Compiler-Direktiven als spezielle Kommentare definiert. Kommentare, deren erstes Zeichen ein &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; ist, werden als Direktive interpretiert. Beispielsweise schaltet &amp;lt;code&amp;gt;{$Q+}&amp;lt;/code&amp;gt; die [[Codegenerator|Codegenerierung]] von Indexüberprüfungen von Arrayzugriffen ein.&lt;br /&gt;
&lt;br /&gt;
In der Programmiersprache [[Ada (Programmiersprache)|Ada]] werden Compiler-Direktiven durch das [[Schlüsselwort (Programmierung)|Schlüsselwort]] &amp;lt;code&amp;gt;pragma&amp;lt;/code&amp;gt; eingeleitet. So wird z.&amp;amp;nbsp;B. mit &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;pragma&amp;#039;&amp;#039;&amp;#039; OPTIMIZE(TIME);&amp;lt;/code&amp;gt; die [[Programmoptimierung]] gesteuert.&lt;br /&gt;
&lt;br /&gt;
Der [[Haskell (Programmiersprache)|Haskell]]-Compiler [[Glasgow 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 &amp;lt;code style=&amp;quot;white-space: nowrap&amp;quot;&amp;gt;{-# OPTIONS_GHC -fglasgow-exts #-}&amp;lt;/code&amp;gt; angefordert wird.&lt;br /&gt;
&lt;br /&gt;
In der [[SAP]]-Programmiersprache [[ABAP]] werden Pragmas verwendet, um Warnungen verschiedener Prüfwerkzeuge auszublenden.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://help.sap.com/doc/abapdocu_751_index_htm/7.51/de-DE/abenpragma.htm |titel=Pragmas - ABAP-Schlüsselwortdokumentation |abruf=2025-05-08}}&amp;lt;/ref&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Leniesco</name></author>
	</entry>
</feed>