Dyrektywy preprocesora

W dzisiejeszym poście przybliże wam pojęcie dyrektyw preprocesora.
Czym są i jak z nich korzystać?

Dyrektywy preprocesora to tak naprawdę instrukcje dla kompilatora.
Używa się ich do informowania kompilatora o danych, które mają zostać przetworzone zanim dojdzie do rzeczywistego procesu kompilacji. To tak trochę jak z obrazka tego postu.

Można je nazwać takimi znakami, które mają informować nas o tym co mamy zrobić.

Wszystkie dyrektywy rozpoczynają się od znaku # i jedynie znaki spacji mogą pojawić się w linii deklaracji dyrektywy. Dyrektywy nie są traktowane jak deklaracje, dlatego taka linia nie musi kończyć się znakiem średnika.

Musimy pamiętać o tym że, kompilator języka C# nie ma odrębnego preprocesora, jednakże dyrektywy przetwarzane są w taki sposób jakby taki preprocesor istniał. W C# używane są do warunkowej kompilacji.

Ponadto, pamiętajmy że, dyrektywa preprocesora musi być jedyną instrukcją w linii.

Poniżej lista dyrektyw dostępnych w języku C#:
DyrektywaZnaczenie
#definedefiniuje ciąg znaków, tj. symbol
#undefpozwala na usunięcie zdefiniowanej dyrektywy
#ifpozwala na testowanie symbolu lub sprawdzenie czy jest to wartość logiczna prawdziwa lub fałszywa
#elsepozwala na utworzenie związku wraz z dyrektywą #if
#elifpozwala na tworzenie bardziej złożonych testów symbolu
#endifokreśla koniec warunkowej dyrektywy
#linepozwala na zmianę numeru linii kompilatora oraz opcjonalnie na zmianę nazwy pliku wyjściowego z błędami i ostrzeżeniami
#errorpozwala na wygenerowanie błędu w określonej lokalizacji w kodzie
#warning pozwala na wygenerowanie ostrzeżenia w określonej lokalizacji w kodzie
#region pozwala na zdefinowanie bloku kodu, który można zwinąć/rozwinąć w trakcie korzystania z Visual Studio
#endregiononaczna koniec bloku rozpoczętego dyrektywą #region

Dyrektywa #define

Dyrektywa ta definiuje ciąg znaków. #define pozwala na utworzenie symbolu, który może zostać przekazany do dyrektywy #if. Symbol taki ma wartość true a jego definicja to:

Przykład:

Dyrektywy warunkowe

Dyrektywa #if może zostać użyta do utworzenia dyrektyw warunkowych. Są one przydatne to testowania symboli oraz sprawdzania czy wartość logiczna takiego symbolu jest prawdziwa. Jeżeli wartość logiczna jest prawdziwa zostanie wykonany cały kod pomiędzy #if a następną dyrektywą.

Składnia:

Warunki, które mogą być sprawdzane w dyrektywie warunkowej:

  • == (równość);
  • != (nierówność);
  • && (i);
  • || (lub).
Przykład użycia:

 

Mam nadzieje że wraz z tym postem dyrektywy preprocesora są wam bliższe.

Pamiętajcie że, wszelkie dodatkowe informacje znajdziecie tutaj.

Kod użyty powyżej znajdziecie na moim personalnym repozytorium, który znajdziecie tu.

Tym postem, chciałbym zakończyć cykl podstaw C# i .Neta.

W kolejnych postach będziemy zajmować się trochę bardziej zaawansowanymi tematami z programowania w języku C#.

Zajmiemy się m.in:

  • atrubutami
  • refleksją
  • właściwościami
  • kolekcjami
  • wielowątkowością
  • i inne.

 

Serdecznie zapraszam.

Pytania? Sugestie?
Piszcie, komentujcie lajkujcie.
Pozdrawiam.

 

 

Post Author: Csharpowe Zmagania

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.