Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dyrektywy preprocesora, takie jak #define i #ifdef, służą do ułatwiania zmian i 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. Dyrektywy preprocesora są przetwarzane 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++