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
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
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.
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.