Ktoś pracuje nad tą stroną, jej zawartość może się wkrótce zmienić. Prosimy o cierpliwość!
1 Co to jest dyrektywa kompilatora?
2 Wstawianie dyrektyw kompilatora do kodu źródłowego
3 Dyrektywy kompilatora
3.1 $A
3.2 $ALIGN
3.3 $APPTYPE
3.4 $ASSERTIONS
3.5 $B
3.6 $BOOLEVAL
3.7 $C
3.8 $D
3.9 $DEBUGINFO
3.10 $DEFINE
3.11 $DEFINITIONINFO
3.12 $DENYPACKAGEUNIT
3.13 $DESCRIPTION
3.14 $DESIGNONLY
3.15 $E
3.16 $ELSE
3.17 $ELSEIF
3.18 $ENDIF
3.19 $EXTENDEDSYNTAX
3.20 $EXTERNALSYM
3.21 $G
3.22 $H
3.23 $HINTS
3.24 $HPPEMIT
3.25 $I
3.26 $IF
3.27 $IFDEF
3.28 $IFEND
3.29 $IFNDEF
3.30 $IFOPT
3.31 $IMAGEBASE
3.32 $IMPLICITBUILD
3.33 $IMPORTEDDATA
3.34 $INCLUDE
3.35 $IOCHECKS
3.36 $J
3.37 $L
3.38 $LINK
3.39 $LOCALSYMBOLS
3.40 $LONGSTRINGS
3.41 $M
3.42 $MAXSTACKSIZE
3.43 $MESSAGE
3.44 $MINENUMSIZE
3.45 $MINSTACKSIZE
3.46 $NODEFINE
3.47 $NOINCLUDE
3.48 $O
3.49 $ObjExportAll
3.50 $OPENSTRINGS
3.51 $OPTIMIZATION
3.52 $OVERFLOWCHECKS
3.53 $P
3.54 $SetPEFlags
3.55 $SetPEOptFlags
3.56 $Q
3.57 $R
3.58 $RANGECHECKS
3.59 $REALCOMPATIBILITY
3.60 $REFERENCEINFO
3.61 $RESOURCE
3.62 $RUNONLY
3.63 $SAFEDIVIDE
3.64 $STACKFRAMES
3.65 $T
3.66 $TYPEDADDRESS
3.67 $TYPEINFO
3.68 $U
3.69 $UNDEF
3.70 $V
3.71 $VARSTRINGCHECKS
3.72 $W
3.73 $WARN
3.74 $WARNINGS
3.75 $WEAKPACKAGEUNIT
3.76 $WRITEABLECONST
3.77 $X
3.78 $Y
3.79 $Z
Co to jest dyrektywa kompilatora?
Dyrektywy kompilatora to specjalny rodzaj komentarzy, które kontrolują kompilator i jego zachowanie. Są one podobne do dyrektyw preprocesora w języku C/C++.
Wstawianie dyrektyw kompilatora do kodu źródłowego
Komentarz zawierający dyrektywę kompilatora musi rozpoczynać się od znaku dolara ($
). Dozwolone jest użycie jednego z dwóch rodzajów komentarzy:
{$DEFINE blablabla}
($DEFINE blablabla)
Pierwszym znakiem komentarza musi być znak dolara ($
); jeżeli tak nie jest, komentarz nie jest traktowany jako dyrektywa kompilatora.
Dyrektywy kompilatora
$A
$ALIGN
$APPTYPE
$ASSERTIONS
$B
$BOOLEVAL
$C
$D
$DEBUGINFO
$DEFINE
$DEFINITIONINFO
$DENYPACKAGEUNIT
$DESCRIPTION
$DESIGNONLY
$E
$ELSE
$ELSEIF
$ENDIF
$EXTENDEDSYNTAX
$EXTERNALSYM
$G
$H
$HINTS
$HPPEMIT
$I
$IF
$IFDEF
$IFEND
$IFNDEF
$IFOPT
$IMAGEBASE
$IMPLICITBUILD
$IMPORTEDDATA
$INCLUDE
$IOCHECKS
$J
$L
$LINK
$LOCALSYMBOLS
$LONGSTRINGS
$M
$MAXSTACKSIZE
$MESSAGE
$MINENUMSIZE
$MINSTACKSIZE
$NODEFINE
$NOINCLUDE
$O
$ObjExportAll
$OPENSTRINGS
$OPTIMIZATION
$OVERFLOWCHECKS
$P
$SetPEFlags
$SetPEOptFlags
$Q
$R
Typ: Parametr
Składnia:
{$R nazwa_pliku}
{$RESOURCE nazwa pliku}
{$R *.xxx}
{$R nazwapliku.res nazwapliku.rc}
Dyrektywa $RESOURCE służy do wyboru pliku z zasobami który ma być wkompilowany w program lub bibliotekę. Nazwa pliku musi być zgodna z Windows. Gdy nie jest dopisane żande rozszerzenie domyślnym jest .res. Aby wybrać plik zawierający w swojej nazwię spację należy użyć cudzysłowów np. {$R 'My file'} .
$RANGECHECKS
$REALCOMPATIBILITY
Dyrektywa $REALCOMPATIBILITY przełącza tryb działania typu Real na kompatybilność z Delphi poniżej 4 lub wersjami nowszymi.
Typ: Przełącznik
Składnia: {$REALCOMPATIBILITY ON} lub {$REALCOMPATIBILITY OFF}
Domyślnie: {$REALCOMPATIBILITY OFF}
{$REALCOMPATIBILITY ON} - zmienne typu Real są traktowane jako zmienne Real48 (kompatybilność z Delphi poniżej wersji 4)
{$REALCOMPATIBILITY OFF} - zmienne typu Real są traktowane jako zmienne Double
$REFERENCEINFO
$RESOURCE
Patrz $R
$RUNONLY
$SAFEDIVIDE
$STACKFRAMES
$T
$TYPEDADDRESS
$TYPEINFO
$U
$UNDEF
$V
$VARSTRINGCHECKS
$W
$WARN
$WARNINGS
Dyrektywa $WARNINGS kontorluje generowanie ostrzeżeń przez kompilator.
Typ: Przełącznik
Składnia: {$WARNINGS ON} lub {$WARNINGS OFF}
Domyślnie: {$WARNINGS ON}
{$WARNINGS ON} - kopilator generuje ostrzeżenia w przypadku wykrycia: niezainicjowanych zmiennych, braku rezultatów funkcji, itp.
{$WARNINGS OFF} - kompilator nie generuje żadnych ostrzeżeń
Adam, raczej w dziale Delphi, bo to są dyrektywy kompilatora Delphi.
Proszę o pomoc w dodawaniu opisów poszczcególnych dyrektyw kompilatora, sam się zamęczę :)
Hmm, chyba w zlym miejscu umiesciles ten artykul, co? Mialo byc w dziale "C"?
czarno + bold + gęsto => artykuł staje się ciężki - można spróbować jakoś wprowadzenie lekkości w styl :)
jak? chwilowo nie wiem ;p
Marooned: jak pojawią się opisy poszczególnych dyrektyw to się troszku przerzedzi - wtedy pomyślimy, jeśli będzie źle.
Co do opisu poszczególnych dyrektyw: widzi mi się coś a'la Delphi. Almanach, tzn.:
Dokładnie, to dotyczy Delphi (niektóre również TP). Są to dykretywy kompilatora, nie preprocesora ;P Ale fakt, było w złym miejscu - nie zauważyłem tego. Przeniosłem do Delphi.