Dyrektywy Kompilatora

Dyrektywy kompilatora to specjalny rodzaj komentarzy, które kontrolują kompilator i jego zachowanie. Poniżej są niektóre dyrektywy kompilatora oraz ich wyjaśnienie.

Dyrektywa Opis Przykład
$APPTYPE Określa typ aplikacji (GUI lub konsolowa) {$APPTYPE CONSOLE} {$APPTYPE GUI}
$DEFINE Dyrektywa służy do deklarowania symbolu w aplikacji. {$DEFINE DEBUG}
$ELSE Dyrektywa kompilatora używana w procesie kompilacji warunkowej, w połączeniu z $IFDEF {$ELSE DEBUG}
$ENDIF Zakończenie sekcji warunkowej {$ENDIF}
$H Określa czy traktować typ String jako długi łańcuch czy łancuch o ograniczonej długości (ShortString) {$H+} {$H-}
$HINTS Określa czy kompilator ma pokazywać wskazówki {$HINTS OFF} {$HINTS ON}
$I Umożliwia włączenie do projektu dodatkowego pliku {$I 'My cool file'}
$I Umożliwia włączenie lub wyłączenie sprawdzania rezultatów operacji wejścia/wyjścia (I/O) {$I+} {$I-}
$INCLUDE Umożliwia włączenie do projektu dodatkowego pliku {$INCLUDE 'My cool file'}
$IOCHECKS Umożliwia włączenie lub wyłączenie sprawdzania rezultatów operacji wejścia/wyjścia (I/O) {$IOCHECKS ON} {$IOCHECKS OFF}
$LONGSTRINGS Określa czy traktować typ String jako długi łańcuch czy łancuch o ograniczonej długości (ShortString) {$LONGSTRINGS ON} {$LONGSTRINGS OFF}
$O Określa czy kod będzie optymalizowany w trakcie kompilacji {$O+} {$O-}
$OPTIMIZATION Określa czy kod będzie optymalizowany w trakcie kompilacji {$OPTIMIZATION ON} {$OPTIMIZATION OFF}
$R Określa czy sprawdzany będzie zakres tablic w trakcie przypisywania wartości {$R+} {$R-}
$R Umożliwia włączenie pliku zasobu. {$R 'My resources'}
$RANGECHECKS Określa czy sprawdzany będzie zakres tablic w trakcie przypisywania wartości {$RANGECHECKS+} {$RANGECHECKS-}
$RESOURCE Umożliwia włączenie pliku zasobu. {$RESOURCE 'My resources'}
$UNDEF Usunięcie wcześniej zadeklarowanego symbolu {$UNDEF DEBUG}
$WARNINGS Określa czy kompilator będzie wyświetlał ostrzeżenia {$WARNINGS OFF} {$WARNINGS ON}
O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License