s372

s372



372 Poznaj Linux

Powyższe polecenie spowoduje utworzenie wykonywalnego pliku o nazwie cr.azwa programu> dla kodu zapisanego w pliku <jjlik>. Pliki źródłowe dla gcc zazwyczaj posiadają rozszerzenie .c. Jeśli nie podamy nazwy pliku wynikowego, gcc utworzy plik o nazwie a .out.

Domyślnie gcc nie korzysta ze swojego optymalizatora kodu. Jeśli chcemy wymusić jego użycie, musimy dodać do nazwy kompilatora opcję -07, która każe gcc zrobić wszystko co w jego mocy, aby zwiększyć wydajność programu. Należy zwrócić uwagę, że przy włączonej opcji optymalizacji, gcc ma trudności z wygenerowaniem informacji dla debuggera. O ile nie mamy dużego doświadczenia w obsłudze narzędzi GNU i debugge-rów. próba usuwania błędów ze zoptymalizowanego kodu może zakończyć się frustrującą porażką. Aby nakazać kompilatorowi wygenerowanie kodu dla profilcra, należy dołączyć do jego wywołania opcję -pg.

Programy pisane w C są często modularne, co oznacza że składa się na nie więcej niż jeden plik. W celu wygenerowania pliku wykonywalnego, wszystkie moduły należy ze sobą połączyć. Zajmuje się tym konsolidator. Kompilator gcc potrafi, co prawda, jednocześnie skompilować kilka różnych plików, ale za cenę wpisywania długich i skomplikowanych poleceń. Dlatego też tworzy się pliki Ma'<efile, nakazujące kompilatorowi przetworzyć pliki wejściowe jeden po drugim, a następnie łączące je w jedną całość za pomocą konsolidatora id. gcc udostępnia w tym celu specjalną opcję: -c. Przykładowo, aby wygenerować plik moduł.o (wykorzystywany później przez konsolidator) z pliku moduł.c, należy wpisać:

gcc -c moduł.c

gcc automatycznie utworzy plik moduł.o.

Linux ohsługuje również dynamiczne łączeuie

Dynamiczne łączenie ogranicza ilość pamięci zajmowanej przez program. Przykład: wiele programów korzysta z zestawu standardowych funkcji służących do wyświetlania tekstu na ekranie. Umieszczenie owych funkcji w jednej bibliotece, dostępnej dla każdego programu, usuwa potrzebę wkompilowywania ich w każdy program. To samo spostrzeżenie stoi za wykorzystaniem plików .dii w systemach Windows i OS/2. Niestety, różnice w wersjach bibliotek dynamicznych mogą uniemożliwić działanie niektórych programów. Dlatego też podczas kompilowania programu programista ma możliwość statycznego dołączenia wykorzystywanych bibliotek do kodu wykonywalnego. Uzyskujemy w ten sposób większą stabilność za cenę większego zużycia pamięci.



Wyszukiwarka

Podobne podstrony:
s372 372 Poznaj Linux Powyższe polecenie spowoduje utworzenie wykonywalnego pliku o nazwie cr.azwa p
s372 372 Poznaj Linux Powyższe polecenie spowoduje utworzenie wykonywalnego pliku o nazwie cr.azwa p
84940 s210 (2) 210 Poznaj Linux Powyższe polecenie spowoduje automatyczne zapisanie zawartości wskaz
31767 s444 444 Poznaj Linux proces-rodzic, który zajmuje się uruchomieniem realizującego dany proces
74710 s138 (3) 138 Poznaj I /inux Powyższe polecenie instaluje następujące komponenty: ■   
s010 (3) 10 Poznaj Linux 10 Poznaj Linux Korzystanie /. polecenia makr config 555 Pakowanie i rozpak
s378 178 Poznaj Linux Przekazywanie parametrów jądra Jądro Linuksa potrafi, jak każdy inny program,
s124 (2) 124 Poznaj Linux #    mount /mnt/zipext2 Do modyfikowania pliku fstab zaleca
s378 178 Poznaj Linux Przekazywanie parametrów jądra Jądro Linuksa potrafi, jak każdy inny program,
52114 s378 178 Poznaj Linux Przekazywanie parametrów jądra Jądro Linuksa potrafi, jak każdy inny pro
s124 (2) 124 Poznaj Linux #    mount /mnt/zipext2 Do modyfikowania pliku fstab zaleca
52114 s378 178 Poznaj Linux Przekazywanie parametrów jądra Jądro Linuksa potrafi, jak każdy inny pro
s064 (3) 64 Poznaj Linux Wydanie powyższego polecenia w systemie X Window spowoduje otwarcie główneg
s196 (2) 196 Poznaj Linux Oba powyższe polecenia powodują otwarcie sesji FTP na tym samym serwerze.

więcej podobnych podstron