Share via


Präprozessordirektiven (HLSL)

Präprozessordirektiven wie #define und #ifdef werden in der Regel verwendet, um Quellprogramme einfach zu ändern und in verschiedenen Ausführungsumgebungen zu kompilieren. Anweisungen in der Quelldatei weisen den Präprozessor an, bestimmte Aktionen auszuführen. Beispielsweise kann der Präprozessor Token im Text ersetzen, den Inhalt von anderen Dateien in die Quelldatei einfügen oder die Kompilierung eines Teils der Datei unterdrücken, indem er Textabschnitte entfernt. Präprozessorzeilen werden vor der Makroerweiterung erkannt und ausgeführt. Wenn also die Erweiterung eines Makros aussieht wie ein Präprozessorbefehl, wird dieser Befehl nicht vom Präprozessor erkannt.

Präprozessoranweisungen verwenden den gleichen Zeichensatz wie Quelldateianweisungen, mit der Ausnahme, dass Escapesequenzen nicht unterstützt werden. Der Zeichensatz, der in Präprozessoranweisungen verwendet wird, ist mit dem Ausführungszeichensatz identisch. Der Präprozessor erkennt auch negative Zeichenwerte.

Der HLSL-Präprozessor erkennt die folgenden Anweisungen:

Das Nummernzeichen (#) muss das erste Zeichen ohne Leerstelle in der Zeile sein, die die Anweisung enthält. Leerzeichen können zwischen dem Nummernzeichen und dem ersten Buchstaben der Anweisung gesetzt werden. Manche Anweisungen enthalten Argumente oder Werte. Jeglichem Text, der auf eine Direktive folgt (außer einem Argument oder einem Wert, der Teil der Direktive ist), muss das einzeilige Kommentartrennzeichen (//) vorangestellt sein, oder er muss in Kommentartrennzeichen (/* */) eingeschlossen werden. Zeilen, die Präprozessoranweisungen enthalten, können fortgesetzt werden, indem direkt vor den Zeilenendemarker ein umgekehrter Schrägstrich (\) gesetzt wird.

Präprozessoranweisungen können an beliebiger Stelle in einer Quelldatei auftreten, aber sie gelten nur für den Rest der Quelldatei.

Anhang (DirectX HLSL)