Dyrektywy kompilatora

Adam Boduch
DyrektywaOpis
$AOkreśla wyrównanie bajtów w rekordach
$ALIGNOkreśla wyrównanie bajtów w rekordach
$APPTYPEOkreśla typ aplikacji (GUI lub konsolowa)
$B
$BOOLEVALOkreśla wyrównanie bajtów w rekordach
$DOkreśla czy generować informacje dla debugera
$DEBUGINFOOkreśla czy generować informacje dla debugera
$DEFINEUmożliwia ustawienie symbolu warunkowego
$DEFINITIONINFO
$ELSESekcja alternatywna dla $IFDEF
$ENDIFZakończenie sekcji warunkowej
$EXTENDEDSYNTAXUmożliwia wlączenie pewnych elementów języka charaterystycznych dla języka Pascal
$HOkreśla czy traktować typ String jako długi łańcuch czy łancuch o ograniczonej długości (ShortString)
$HINTSOkreśla czy kompilator ma pokazywać wskazówki
$IUmożliwia włączenie do projektu dodatkowego pliku
$IFDEFPoczątek sekcji warunkowej
$IFNDEFPoczątek sekcji warunkowej
$IFOPTUmożliwia sprawdzenie wartości danej dyrektywy
$INCLUDEUmożliwia włączenie do projektu dodatkowego pliku
$IOCHECKSUmożliwia przechwytywanie błędów I/O
$LUmożliwia generowanie informacji o symbolach programu (zmiennych, stałych, modułach)
$LOCALSYMBOLSUmożliwia generowanie informacji o symbolach programu (zmiennych, stałych, modułach)
$LONGSTRINGSOkreśla czy traktować typ String jako długi łańcuch czy łancuch o ograniczonej długości (ShortString)
$MINENUMSIZEOkreśla min. ilość pamięci jaką zajmować będzie lista wyliczeniowa
$OOkreśla czy kod będzie optymalizowany w trakcie kompilacji
$OPTIMIZATIONOkreśla czy kod będzie optymalizowany w trakcie kompilacji
$OVERFLOWCHECKSOkreśla czy sprawdzana będzie wartość przypisywana do typów liczbowych (czy nie przekraczają określonego zakresu)
$QOkreśla czy sprawdzana będzie wartość przypisywana do typów liczbowych (czy nie przekraczają określonego zakresu)
$ROkreśla czy sprawdzany będzie zakres tablic w trakcie przypisywania wartości
$RANGECHECKSOkreśla czy sprawdzany będzie zakres tablic w trakcie przypisywania wartości
$REFERENCEINFO
$RESOURCEUmożliwia włączenie odpowiednich plików zasobów
$SCOPEDENUMSUmożliwia włączenie podania typu wyliczeniowego przed jego wartością
$UNDEFUsunięcie wcześniej zadeklarowanego symbolu
$WARNINGSOkreśla czy kompilator będzie wyświetlał ostrzeżenia
$XUmożliwia wlączenie pewnych elementów języka charaterystycznych dla języka Pascal
$Y
$ZOkreśla min. ilość pamięci jaką zajmować będzie lista wyliczeniowa

$X

  • 2006-06-09 14:23
  • 0 komentarzy
  • 608 odsłon

$EXTENDEDSYNTAX

  • 2010-10-31 18:27
  • 1 komentarz
  • 1253 odsłony

$IFOPT

  • 2010-10-31 18:27
  • 0 komentarzy
  • 1514 odsłon

$IFNDEF

  • 2010-10-31 18:27
  • 3 komentarzy
  • 2329 odsłon

$IF

  • 2010-10-31 18:27
  • 0 komentarzy
  • 2530 odsłon

$IF

  • 2010-10-31 18:27
  • 0 komentarzy
  • 2530 odsłon

$IFEND

  • 2010-10-31 18:27
  • 0 komentarzy
  • 1679 odsłon

$ELSEIF

  • 2010-10-31 18:27
  • 0 komentarzy
  • 2221 odsłon

$ENDIF

  • 2010-10-31 18:27
  • 0 komentarzy
  • 2314 odsłon

$ELSE

  • 2010-10-31 18:27
  • 0 komentarzy
  • 2116 odsłon

$IFDEF

  • 2010-10-31 18:27
  • 1 komentarz
  • 4872 odsłony

$UNDEF

  • 2010-10-31 18:27
  • 0 komentarzy
  • 1976 odsłon

$DEFINE

  • 2010-10-31 18:27
  • 0 komentarzy
  • 3506 odsłon

$APPTYPE

  • 2010-10-31 18:27
  • 0 komentarzy
  • 2111 odsłon

$WARNINGS

  • 2010-10-31 18:27
  • 0 komentarzy
  • 2614 odsłon

5 komentarzy

$M-
The $M switch directive controls generation of runtime type information (RTTI). When a class is declared in the {$M+} state, or is derived from a class that was declared in the {$M+} state, the compiler generates runtime type information for properties and events that are declared in a published section. If a class is declared in the {$M+} state, and is not derived from a class that was declared in the {$M} state, published sections are not allowed in the class. Note that if a class is forward declared, the first declaration of the class must be declared with the $Mswitch.

'A jest jakaś dyrektywa pozwalająca generować kod w formacie innym niż Windowsowe EXE?'
'Raczej nie. Od tego jest Kylix lub Lazarus.'

OMG. Przecież w Delphi można jeszcze wykompilować (hura, nowe słowo) DLL. ;)

Raczej nie. Od tego jest Kylix lub Lazarus.

A jest jakaś dyrektywa pozwalająca generować kod w formacie innym niż Windowsowe EXE?

Adam, a co znaczy $J+ ? Podobno "umożliwia modyfikację stałych". Ale na Delphi 6 mi to nie działa - tylko na delphi 2005 :/ Możesz mi to wytłumaczyć?