5224571627

5224571627



zdefiniowana (w naszym przykładzie chodzi o funkcję printf, która oczywiście jest zdefiniowana w jednej ze standardowych bibliotek kompilatora gcc).

4. Biblioteki współdzielone

4.1. Uwagi wstępne

Biblioteki współdzielone mają kilka zasadniczych zalet w porównaniu do bibliotek statycznych. Po pierwsze programy z nich korzystające zajmują mniej miejsca na dysku, gdyż kody biblioteki nie są wkompilowywane w każdy plik binarny. Zamiast tego kod biblioteki jest dynamicznie łączony z programem, który tej biblioteki potrzebuje w trakcie uruchamiania programu. Są one ponadto nieco szybsze w działaniu, gdyż ich kod jest ładowany do pamięci tylko raz, przy pierwszym użyciu biblioteki.

Zasadniczą jednak zaletą bibliotek współdzielonych jest to, że nie stanowią one integralnej i nierozłącznej części aplikacji. Zmiana kodu biblioteki (np. usunięcie zauważonych błędów) nie pociąga za sobą konieczności kompilacji wszystkich programów korzystających z tej biblioteki. Wystarczy tylko przekompilować bibliotekę i wszystkie korzystające z niej programy będą „widziały” wprowadzone zmiany.

4.2. Nazewnictwo bibliotek współdzielonych

Chcąc tworzyć biblioteki współdzielone należy przede wszystkim zrozumieć specyficzne zasady tworzenia nazw tych bibliotek (nie mogą one być tworzone dowolnie!). Pojawia się tutaj tzw. nazwa so (sonante - shared object name). Sonante posiada:

•    przedrostek lib,

•    nazwę biblioteki,

•    znak kropki,

•    frazę so,

•    znak kropki,

•    numer wersji.

Uwaga: nazwa so zwykle jest dowiązaniem symbolicznym (polecenie ln) do nazwy fizycznego pliku dyskowego z kodem biblioteki.

Kolejne elementy, które mogą (ale nie muszą) pojawić się to: znak kropki oraz podrzędny numer wersji (ang. minor number), znak kropki oraz numer wydania (ang. release number). Numer wersji oraz wydania nie są obowiązkowe. Przykładowo, gdy mamy podane: libnasza.so. 1.0.5 napis ten zależy „rozszyfrować” następująco:

•    libnasza. so - nazwa biblioteki współdzielonej,

•    libnasza. so. i - nazwa so (soname) biblioteki współdzielonej (numer wersji: i),

•    libnazsza.so.l.0.5 - nazwa pliku, zawierającego kod biblioteki współdzielonej (podrzędny numer wersji: o, numer wydania: 5).

Zmiana w głównym numerze wersji wskazuje na znaczącą zmianę biblioteki i zwykle takie dwie wersje biblioteki nie są ze sobą zgodne. Z kolei zmiana numeru podrzędnego oraz numeru wydania oznacza, że usuwane są mniejsze lub większe błędy w bibliotece, nie skutkujące jednak utratą kompatybilności z poprzednimi wersjami.

opracowali: dr inż. Artur Gramacki, dr inż. Jarosław Gramacki Język ANSI C (w systemie LINUX)

6



Wyszukiwarka

Podobne podstrony:
523 2 Soczewka w powietrzu niech będzie naszym przykładem sumowania zdolności skupiających Jeśli soc
Pojęcie i cechy nowożytnej biurokracji Administracja to ta część funkcji państwa, która nie jest
314 V. Funkcje wielu zmiennych Jasne jest dla czytelnika, że wypowiedziany wyżej warunek daje inną f
499 § 4. Długość krzywej płaskiej Teraz, gdy wiemy, że funkcja u=co(t) rośnie wraz z /, jest już jas
zadania05 Zdefiniuj rekurencyjną funkcję Travorse’, która drukuje zawartość wszystkich wierzchołków
66 ROZDZIAŁ JO. PODSTAWOWE PROCEDURY WEJŚCIA I WYJŚCIAFunkcje wyjścia Funkcja printf W przykładzie
Zbiór rozmyty (ang. fuzzy set) to obiekt matematyczny ze zdefiniowaną funkcją przynależności, która
ANSI C 2 1 ELEMENTARZ W naszym przykładzie występuje sekwencja

Image072 Przykłady realizacji funkcji logicznych W celu zrealizowania dowolnego układu kombinacyjneg
SL272448 Moment siły Wprawiając ciało w ruch obrotowy przykładamy siłę, która zaczepiona jest w pewn
Zdj?cie2573 Metody bazujące na funkcjacn radialnychRównania przykładowych bazowych funkcji radialnyc

więcej podobnych podstron