next up previous
Next: Pierwsze kroki w FORTRANie: Up: Kurs języka FORTRAN ćwiczenie Previous: Kurs języka FORTRAN ćwiczenie

Poznajemy kompilator

  1. Zaloguj się. Otwórz okienko terminala i napisz w nim polecenie g77 a następnie f77. Oba polecenia wywołują system programów umownie zwanych ``kompilatorem języka FORTRAN 77ńapisany przez grupę GNU (grupa GNU to programiści z całego świata piszący i udostępniający programy za darmo ale za to bez gwarancji). Nie został podany żaden program do kompilacji, więc nie zdziw się, że efekt jest mizerny.

  2. Wywołaj teraz

    g77 --help | more
    

    Co prawda kompilator nadal nic nie zrobi ale przynajmniej dowiesz się, co potrafi. Nie przerażaj się niezrozumiałymi być może opisami. Przydadzą się, jak już trochę kompilator oraz FORTRAN poznasz.

    Więcej informacji możesz uzyskać wywołując

    man g77
    

  3. Zabierzemy się teraz za kompilację prostych programów przy pomocy g77. Utwórz na swoim katalogu domowy katalog FORTRAN a w nim podkatalog Cw1. Skopiuj z katalogu /big/staff/adam/FORTRAN/Cw1 pliki hello.f, greet.f, programik.f oraz zabawka.f. Wszystkie te pliki stanowią pliki źródłowe pewnych programów w języku FORTRAN 77 (znak rozpoznawczy: rozszerzenie .f).

  4. Obejrzyj plik źródłowy hello.f. Następnie poleceniem ls sprawdź zawartość katalogu FORTRAN/Cw1.

  5. Wydaj polecenie:

    g77 hello.f
    

    Sprawdź poleceniem ls zawartość katalogu. Powinien pojawić się plik a.out stanowiący moduł wykonywalny programu hello. Moduł wykonywalny zawsze będzie się nazywał a.out chyba, że określisz w poleceniu kompilacji jego nazwę. Uruchom program poleceniem:

    ./a.out
    

    Pytanie: jakie znaczenie ma poprzedzenie nazwy a.out kropką i slashem? Czym różni się takie polecenie od

    a.out
    

  6. Skasuj plik a.out. Zmodyfikuj polecenie kompilacji następująco:

    g77 -o hello hello.f
    

    Po tej operacji powinien pojawić się plik hello będący programem wykonywalnym (sprawdź to uruchamiając go). Poznałeś zatem pierwszą opcję kompilatora g77: ``-o nazwa_programu'' definiuje nazwę programu wykonywalnego. Nie jesteśmy zatem zawsze skazani na a.out.

  7. Skasuj plik hello. Zmodyfikuj polecenie kompilacji następująco:

    g77 -c hello.f
    

    Powinien pojawić się plik hello.o, który nie jest programem wykonywalnym (sprawdź to próbując go uruchomić). Plik ten zawiera tzw. moduł relokowalny zwany żargonowo z angielska ``object''. Z takich modułów jak z klocków można składać skompikowane programy wykonywalne bez konieczności kompilacji całego źródła od początku. Możesz z niego teraz utworzyć program wykonywalny poleceniem:

    g77 -o hello hello.o
    

    Kompilacja jest zawsze dwustopniowa: najpierw źródło fortranowskie jest przekształcane w object a z objectów jest dopiero składany program wykonywalny. Opcja -c zatrzymuje proces na pierwszym etapie. Jeżeli celem jest program wykonywalny a źródłem moduł fortranowski, przejściowo powstające objecty są usuwane i dlatego kompilacja przebiega pozornie jednokrokowo.


next up previous
Next: Pierwsze kroki w FORTRANie: Up: Kurs języka FORTRAN ćwiczenie Previous: Kurs języka FORTRAN ćwiczenie
Adam Liwo 2002-03-04