Next: Preklad a linkovani Up: PREKLADACEKNIHOVNY PROGRAM¦ Previous: Procedura fort

Knihovny programu

Knihovny jsou soubory prelozenych rutin, ktere mohou byt prilinkovany k programu uzivatele pri vytvareni vykonneho modulu. Existuji dva typy knihoven.[3]

a) Archivni knihovny
Jmeno knihovny zacina retezcem lib a ma extenzi .a. Tyto knihovny jsou pro UNIX standardem. Rutiny techto knihoven jsou pri linkovani kopirovany do vykonneho modulu.

Priklad vytvoreni archivni knihovny v C-shellu:

ar cr libname.a .o
vytvoreni knihovny ze vsech prelozenych modulu .o v nastavenem adresari
ranlib libname.a
vytvoreni archivni knihovny (nutno provest i po kazde zmene v knihovne)
ar t libname.a
vypis obsahu knihovny
ar t libname.a |grep modul
zjisteni, zda je modul obsazen v knihovne.
ar x libname.a memb.o
Zmeny v knihovne.
x znamena nektery z nasledujicich prikazu:
r
nahrazeni existujiciho modulu nebo pridani noveho modulu
m
presunuti modulu na konec archivniho souboru
d
vymazani modulu
q
pridani modulu na konec archivniho souboru. V pripade jiz existujiciho modulu neni starsi modul odstranen

b) Sdilene knihovny
Sdilene knihovny (shared library) maji v C-shellu extenzi .so a v Korn shellu .sl. Linkovaci program nekopiruje moduly techto knihoven do vykonneho modulu, reference se rozresuji az pri exekuci (run time library). Vykonny modul zaujima z toho duvodu mene prostoru na disku a setri se i virtualni pamet.

Priklad vytvoreni sdilene knihovny v Korn shellu:

Programy musi byt prelozeny s nasledujicimi volbami: fort77 -c -K -ppn +z user.f
ld -o libuser.sl -b user.o



Next: Preklad a linkovani Up: PREKLADACEKNIHOVNY PROGRAM¦ Previous: Procedura fort


Julius.Hrivnac@cern.ch