Fordítási direktíva

A Programozás Wiki wikiből

A fordítási direktíva a fordítónak szóló utasítás. A programunkat a fordító ezen direktívák függvényében fordítja le. Turbo Pascalban szintaktikailag ezek olyan speciális megjegyzések amelyek $ jellel kezdődnek,innen tudja a fordító, hogy neki szól.

Vannak globális és lokális direktívák:

  • A globális direktíva az egész programot illetve az egész egységet (unit) érinti, és a deklarációs rész előtt kell szerepelnie (az első Uses, Label, Const, Type, Procedure, Function, Begin előtt).
  • A lokális direktíva a program vagy egység bármely részén előfodulhat, és addig van érvényben, amíg felül nem definiáljuk azt.

A fordítási direktíváknak vannak alapértelmezésük.Ha integrált környezetben fordítjuk le a programunkat, akkor az ott definiált fordítási direktívák vannak érvényben. A programban megadott direktívák felülbírálják a menürendszerben beállítottakat.

Háromféle fordítási direktívát különböztetünk meg Turbo Pascalban:

  • Kapcsoló direktíva:
Ebben az esetben egy fordítási opció vagy bekapcsolt, vagy kikapcsolt állapotban van. A direktíva neve után közvetlenül következik a kapcsoló (ez vagy egy plusz(+), vagy egy mínusz(-) jel), ahol a + jel a be, míg a - jel a kikapcsolt állapotot jelzi.
 {$V-}

vagy

 {$N+, E+, F+}


  • Paraméter direktíva:
A fordítás adott paraméterek mellett történhet, mint például memóriaméretek, vagy állománynevek.
A direktíva neve után egy szóköz következik, melyet a paraméterek követnek.
Például:
 {$M 60000, 0, 655360}

vagy (*befoglal.pas tartalma*)

     Procedure BefoglaltProc;
     Begin
       WriteLn('A befoglalt eljárás fut...');
     End;
 {$I befoglal}
    Begin {main}
      BefoglaltProc;
    End.
 
  • Feltételes direktíva:
A definiált szimbólumoktól függően a fordító a programnak csak bizonyos részeit fordítja le.
 {$DEFINE Dim3}
 {$IFDEF Dim3}
  • Speciális direktíva:
Olyan nyelvfüggő direktívák, amelyeknek különleges jelentésük van.
Mint például Turbo Pascal 6-ban :
  1. Assembler
  2. External
  3. Far
  4. Forward
  5. Inline
  6. Interrupt
  7. Near
Assembler, External, Far, Forward, Inline, Interrupt, Near.