DYREKTYWY KOMPILATORA, Programowanie


DYREKTYWY KOMPILATORA

Dyrektywy kompilatora mogą wystąpić w dowolnym miejscu tekstu źródłowego i mają postać:

{$dyrektywa}

lub

{$dyrektywa parametry}

Dyrektywy dzielimy na

Dyrektywy przełączające mogą obejmować swoim zasięgiem cały proces kompilacji (dyrektywy globalne) lub tylko część (dyrektywy lokalne). Pierwsze z nich powinny występować przed częścią opisową programu lub modułu, a dyrektywy lokalne mogą występować w dowolnym miejscu.

Nazwa dyrektywy przełącznikowej składa się z pojedynczej litery, po której występują bezpośredni znak - lub +. Znak - ozn., że dana opcja jest wyłączona (nieaktywna), a znak + włączona (aktywna).

Dyrektywy przełącznikowe mogą być grupowane w pojedynczą dyrektywę. Pojedyncze dyrektywy oddziela się w takim przypadku przecinkami.

Przykłady:

{$B+} lub {$B-} włącza lub wyłącza pełne wartościowanie wyrażeń logicznych

{$I+} lub {$I-} włącza lub wyłącza komendy operacji wejścia i wyjścia

{$N+} lub {$N-} włącza lub wyłącza zadanie używania koprocesora arytmetycznego (w trybie{$N-}

dostępny jest tylko typ rzeczywisty Real, a trybie {$N+} dostępne są typy real, single, double, extender, comp)

{$E+} lub {$E-} włącza lub wyłącza emulację koprocesora elektronicznego

IORESULT- zwraca kod błędu powstały w czasie ostatniej operacji wejścia/wyjścia. Wartość 0 oznacza poprawnie wprowadzona dana, inna wartość oznacza numer wykrytego błędu. Wywołanie instrukcji IORESULT po dyrektywie {$!+} jest konieczne, ze względu na sprawdzenie każdej operacji wejścia/wyjścia. Brak odwołania się do tej funkcji spowoduje zablokowanie dalszych operacji wejścia/wyjścia.

Przykład:

Program dyrektywy;

Var n:integer;

ok.: boolean;

begin

repeat write('Podaj liczbe 1..99');

{$!-}

readln(n);

{$!+}

ok:=(IORESULT=0) and (n>0) and (n<OO);

if ok then writeln(# 7, 'Złe dane')

else writeln(`Dobre dane');

until OK;

readln;

end.

Dyrektywy sparametryzowane

{$1 nazwa pliku}

włącza plik tekstowy o podanej nazwie do tekstu źródłowego i standardowo przyjęte jest rozszerzenie

PAS. Ten plik będzie szukany w katalogu bieżącym oraz w katalogu wyspecyfikowanym za pomocą

opcji OPTIONS/DIRECTORIES/INCLUDE DIRESTORIES

Przykład

var i,j: integer;

($1 ab.pas}



Wyszukiwarka

Podobne podstrony:
2009 12 Metaprogramowanie algorytmy wykonywane w czasie kompilacji [Programowanie C C ]
przyklad kompilowania programow w UNIKSie
WNIOSEK DO DYREKTORA PROGRAMY
dyrektywa programy komputerowe
01 Kompilator i edytor środowiska programistycznego języka C C
Dyrektywa ziolowa
Nowy Prezentacja programu Microsoft PowerPoint 5
Charakterystyka programu
1 treści programoweid 8801 ppt
Programowanie rehabilitacji 2
Rola rynku i instytucji finansowych INowy Prezentacja programu Microsoft PowerPoint
Nowy Prezentacja programu Microsoft PowerPoint ppt
Szkoła i jej program

więcej podobnych podstron