Dyrektywa kompilatora

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Dyrektywa kompilatora – zawarte w tekście kodu źródłowego polecenie dla translatora, wykonania określonej czynności, lub ustalające sposób translacji. Dyrektywy kompilatora nie są częścią języka programowania lecz jego standardu bądź konkretnej implementacji.

Znaki pisarskie – znaki stanowiące pismo, symbole graficzne oznaczające dźwięki mowy lub znaczenia myślowe. Ciąg znaków pisarskich nazywamy tekstem.Plik (ang. file) – uporządkowany zbiór danych o skończonej długości, posiadający szereg atrybutów i stanowiący dla użytkownika systemu operacyjnego całość. Nazwa pliku nie jest częścią tego pliku, lecz jest przechowywana w systemie plików.

Sposób zapisu[ | edytuj kod]

Ponieważ dyrektywy kompilatora nie są częścią języka programowania, muszą być zapisywane w kodzie źródłowym w taki sposób, aby translator mógł odróżnić i wyodrębnić dyrektywę, z tekstu zapisanego w swej zasadniczej części w określonym języku źródłowym. Typowym rozwiązaniem jest zapis dyrektyw w kompilatora w formie komentarza o specyficznej składni. W zasadzie zespół zdefiniowanych dyrektyw stanowi również sam w sobie pewien język skryptowy sterowania translacją.

Instrukcja warunkowa jest elementem języka programowania, które pozwala na wykonanie różnych obliczeń w zależności od tego czy zdefiniowane przez programistę wyrażenie logiczne jest prawdziwe, czy fałszywe. Możliwość warunkowego decydowania o tym, jaki krok zostanie wykonany w dalszej kolejności jest jedną z podstawowych własności współczesnych komputerów – dowolny model obliczeń zdolny do wykonywania algorytmów (tj. równoważny maszynom Turinga) musi ją posiadać.Stała - identyfikator, któremu przypisana wartość (liczbowa, tekstowa, itp.) nie może być zwykle zmieniana podczas wykonywania programu (chyba, że stosuje on samomodyfikujący się kod). Choć wartość ta jest określana tylko raz, można się do niej odwoływać w programie wielokrotnie (w zależności od jej widoczności). Stosowanie stałej zamiast wielokrotnie tych samych wartości, wyrażeń stałych, literałów itp., nie tylko ułatwia konserwację kodu, ale i dostarcza dla niej nazwę opisową, zwiększając czytelność kodu.

Pascal[ | edytuj kod]

Przykładowo w języku Pascal i większości jego implementacji (np. Turbo Pascal) oraz Object Pascal i jego implementacji (np. Delphi, Free Pascal/Lazarus) zapis dyrektyw kompilatora ma jedną z postaci:

  • {$dyrektywa}
  • {$dyrektywa parametry}
  • {$lista_dyrektyw_przełącznikowych}
  • Jak widać dyrektywa stanowi komentarz, w którym pierwszy znak $ odróżnia zwykły komentarz, od dyrektywy kompilatora. Taki sposób zapisu zapewnia, że kod źródłowy zapisany w danym języku, przeniesiony do implementacji, w której nie występowałby taki zestaw dyrektyw kompilatora, będzie mógł być uruchamiany, gdyż komentarze będę ignorowane. Parametry występują tylko w pewnych dyrektywach, w prostych przypadkach dyrektywy do pojedyncze polecenia.

    Jan Bielecki (zm. 25 grudnia 2001) – polski informatyk, wykładowca, jedyny z Europy Środkowo-Wschodniej członek komitetu standaryzacyjnego ANSI C.Wydawnictwa Komunikacji i Łączności Sp. z o.o. (w skrócie WKŁ) – polskie wydawnictwo, publikujące głównie z zakresu tematyki motoryzacji, elektroniki, telekomunikacji, drogownictwa i lotnictwa. Siedziba firmy i księgarnia firmowa znajduje się w Warszawie na Mokotowie przy ul. Kazimierzowskiej 52.

    Poszczególne dyrektywy są identyfikowane zwykle:

  • pojedynczym znakiem, np. {$I proc1.pas}
  • zestawem znak i symbol, np. {$R+}
  • słowem kluczowym, np. {$IFDEF WINDOWS}
  • PL/M[ | edytuj kod]

    W języku PL/M-80 opcje kompilacji mogą być umieszczane w kodzie źródłowym, wyłącznie w oddzielnych wierszach (oddzielnych od wierszy zawierających kod w języku PL/M). Wiersz taki identyfikowany jest znakiem dolara $ umieszczonym w pierwszej kolumnie danego wiersza (pierwszy znak wiersza), po którym może wystąpić lista dyrektyw kompilatora, rozdzielonych spacjami. Dyrektywy identyfikowane są słowami, np. PAGING, PRINT(n), PAGEWIDTH(w), DEBUG, INCLUDE(n) itp..

    Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.Tekst - każdy wytwór kultury (tekst kultury) stanowiący całość uporządkowaną według określonych reguł, np. dzieło sztuki, ubiór, zachowanie realizujące jakiś utrwalony wzorzec kulturowy.

    Rozróżnia się: główne opcje kompilacji dyrektywy je identyfikujące mogą być umieszczane w tekście kodu źródłowego tylko przed pierwszym wierszem zawierającym kod w języku PL/M, poboczne opcje kompilacji odpowiednie dyrektywy mogą występować w dowolnym wierszy pomiędzy wierszami kodu w języku PL/M.

    Rodzaje dyrektyw[ | edytuj kod]

    Ogólnie, można wyróżnić dyrektywy:

    Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone. Wydawnictwa Naukowo-Techniczne (WNT) – polskie wydawnictwo założone w 1949 z siedzibą w Warszawie, do 1961 działało pod firmą Państwowe Wydawnictwa Techniczne.
    definiujące taka dyrektywa definiuje pewną stałą, która umożliwia parametryzowanie kompilacji, poprzez kontrolę istnienia definicji w dyrektywach warunkowych, np. DEFINE, UNDEF parametryczne które przekazują informację do translatora, informacje te mogą dotyczyć środowiska, w którym następuje kompilacja, dostępność pamięci, zbiór, który ma być włączony do kodu źródłowego, np. C atrybuty, I nazwa_zbioru, warunkowe umożliwiającą kompilację warunkową określonych sekcji kodu źródłowego (sekcja rozumiana jest jako tekst zawarty pomiędzy dyrektywą warunkową a dyrektywą zamykającą blok dyrektywy warunkowej, porównaj: instrukcja warunkowa), może to dotyczyć np. uwzględnienia różnic systemów komputerowych i wiele innych zastosowań, np. IFDEF nazwa, IFNDEF nazwa, IFOPT przełącznik, ELSE, ENDIF, przełącznikowe ustalające sposób kompilacji, sposób ten może być różny dla różnych, nawet niewielkich fragmentów kodu, np. F+, F-, S+, S- i inne.
    Delphi – język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są zintegrowanymi środowiskami programistycznymi typu RAD, działającymi zgodnie z zasadą dwustronnej edycji.Pamięć operacyjna (ang. internal memory, primary storage) – pamięć adresowana i dostępna bezpośrednio przez procesor, a nie przez urządzenia wejścia-wyjścia procesora. W pamięci tej mogą być umieszczane rozkazy (kody operacji) procesora (program) dostępne bezpośrednio przez procesor i stąd nazwa pamięć operacyjna. W Polsce często pamięć ta jest utożsamiana z pamięcią RAM, choć jest to zawężenie pojęcia, pamięcią operacyjną jest też pamięć nieulotna (ROM, EPROM i inne jej odmiany) dostępna bezpośrednio przez procesor, a dawniej używano pamięci o dostępie cyklicznym.


    Podstrony: 1 [2] [3] [4]




    Warto wiedzieć że... beta

    Konsolidacja (linkowanie od ang. link - łączyć) to proces polegający na połączeniu skompilowanych modułów (plików zawierających kod obiektowy lub plików bibliotek statycznych) i utworzeniu pliku wykonywalnego lub rzadziej innego pliku obiektowego. Dodatkowo podczas konsolidacji do pliku wynikowego mogą być dołączone odpowiednie nagłówki i informacje charakterystyczne dla konkretnego formatu pliku wykonywalnego.
    Clipper powstał w 1985 roku jako język programowania na podstawie systemu zarządzania bazą danych dBase firmy Ashton-Tate. Clipper operuje na plikach bazy w formacie DBF.
    Preprocesor – w programowaniu – to program komputerowy, którego zadaniem jest przetworzenie kodu źródłowego, w sposób określony przez programistę za pomocą dyrektyw preprocesora, na kod wyjściowy – tak przetworzony kod źródłowy poddawany jest następnie analizie składniowej i kompilacji.
    Visual Basic to język programowania wysokiego poziomu i narzędzie programowania firmy Microsoft. Składnia jest oparta na języku BASIC, ale unowocześniona. Zawiera kilkaset instrukcji, funkcji i słów kluczowych. Nie jest językiem w pełni obiektowym, gdyż nie udostępnia np. możliwości dziedziczenia, czy polimorfizmu. Wykorzystuje technologię ActiveX.
    Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).
    Definicja intuicyjna: Kod źródłowy to zapis programu komputerowego w formie czytelnej dla człowieka umożliwiający jego modyfikację i rozwój.
    Object Pascal – obiektowy język programowania, jest obiektowym rozszerzeniem języka Pascal. Pomiędzy językami Pascal i Object Pascal występuje podobna relacja jak w przypadku języków C i C++ (tzn. że Object Pascal jest nadzbiorem Pascala). W języku Object Pascal dodano nie tylko możliwość programowania obiektowego (klasy) ale uzupełniono go także o cechy, których nie posiada Pascal, np.: tablice dynamiczne, przeciążanie procedur/funkcji, interfejsy, zarządzane ciągi znaków, zarządzane rekordy, obsługa Unikodu, typy generyczne.

    Reklama