Dyrektywy preprocesora

Dyrektywy preprocesora, takie jak #define i #ifdef, są zwykle używane w celu ułatwienia zmiany i łatwego kompilowania programów źródłowych w różnych środowiskach wykonywania. Dyrektywy w pliku źródłowym informują preprocesor o podjęciu określonych akcji. Na przykład preprocesor może zastąpić tokeny w tekście, wstawić zawartość innych plików do pliku źródłowego lub pominąć kompilację części pliku, usuwając sekcje tekstu. Linie preprocesora są rozpoznawane i wykonywane przed rozszerzeniem makra. W związku z tym jeśli makro rozszerza się na coś, co wygląda jak polecenie preprocesora, nie jest rozpoznawane przez preprocesor.

Instrukcje preprocesora używają tego samego zestawu znaków co instrukcje pliku źródłowego, z wyjątkiem, że sekwencje ucieczki nie są obsługiwane. Zestaw znaków używany w instrukcjach preprocesora jest taki sam jak zestaw znaków wykonywania. Preprocesor rozpoznaje również wartości znaków ujemnych.

Preprocesor rozpoznaje następujące dyrektywy:

Znak numeru (#) musi być pierwszym znakiem niewzwiązanym z spacją w wierszu zawierającym dyrektywę. Znaki odstępu mogą pojawiać się między znakiem cyfry a pierwszą literą dyrektywy. Niektóre dyrektywy zawierają argumenty lub wartości. Każdy tekst zgodny z dyrektywą (z wyjątkiem argumentu lub wartości będącej częścią dyrektywy) musi być poprzedzony ogranicznikiem komentarza jednowierszowego (//) lub ujęty w ograniczniki komentarzy (/* */). Linie zawierające dyrektywy preprocesora mogą być kontynuowane bezpośrednio przed znacznikiem końca wiersza ukośnikiem odwrotnym (\).

Dyrektywy preprocesora mogą pojawiać się w dowolnym miejscu w pliku źródłowym, ale mają zastosowanie tylko do pozostałej części pliku źródłowego po ich pojawieniu.

Zobacz też

Operatory preprocesora
Wstępnie zdefiniowane makra
Dokumentacja preprocesora c/c++