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
  • 8 odsłon

$EXTENDEDSYNTAX

  • 2006-05-16 16:25
  • 1 komentarz
  • 382 odsłony

$IFOPT

  • 2006-04-05 08:12
  • 0 komentarzy
  • 371 odsłon

$IFNDEF

  • 2006-03-23 16:49
  • 3 komentarzy
  • 485 odsłon

$IF

  • 2006-03-14 16:33
  • 0 komentarzy
  • 656 odsłon

$IF

  • 2006-03-14 16:33
  • 0 komentarzy
  • 656 odsłon

$IFEND

  • 2006-03-14 15:47
  • 0 komentarzy
  • 682 odsłony

$ELSEIF

  • 2006-03-14 15:44
  • 0 komentarzy
  • 841 odsłon

$ENDIF

  • 2006-03-14 15:31
  • 0 komentarzy
  • 861 odsłon

$ELSE

  • 2006-03-14 15:25
  • 0 komentarzy
  • 731 odsłon

$IFDEF

  • 2006-03-14 13:11
  • 1 komentarz
  • 962 odsłony

$UNDEF

  • 2006-03-14 12:42
  • 0 komentarzy
  • 704 odsłony

$DEFINE

  • 2006-03-14 12:37
  • 0 komentarzy
  • 719 odsłon

$APPTYPE

  • 2006-03-13 18:30
  • 0 komentarzy
  • 724 odsłony

$WARNINGS

  • 2006-03-13 18:16
  • 0 komentarzy
  • 709 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ć?