Kas yra statinė biblioteka?

Statinė biblioteka yra kompiuterio archyvas, kuriame yra susijusių failų grupė, kad būtų lengva susieti su programas. Šios bibliotekos turinys paprastai yra mašininio kodo failai, kurių žmonės neskaito. Šie mašininio kodo failai paprastai generuojami kompiliuojant kodą arba atliekant panašų procesą. Dauguma operacinių sistemų turi standartinius statinių bibliotekų plėtinius, todėl jas lengva atpažinti, nepaisant dydžio ar turinio.

Dviejų skirtingų tipų kompiuterių bibliotekos yra statinės ir dinaminės. Statinė biblioteka yra lankstesnė nei dinaminė, nes tikslus jos kelias nėra svarbus ją naudojančiam vykdomajam failui. Statinės bibliotekos yra susietos su vykdomuoju failu ir, jei reikia, gali būti ištrintos, nes jų turinys buvo įtrauktas į galutinę programą. Dinaminės bibliotekos negalima ištrinti, nes jos turinys įkeliamas vykdant vykdomąjį failą, todėl jos vietos, palyginti su vykdomuoju failu ir operacinėje sistemoje, yra svarbios. Statinis susiejimas leidžia perkelti arba pakartotinai naudoti biblioteką nesirūpinant absoliučiais vietos keliais.

Priešingai nei dinaminė biblioteka, statinė biblioteka paprastai nėra vykdoma atskirai. C++ kalboje statinės bibliotekos dažnai veikia kaip dideli objektų failai ir jas galima susieti su vykdomaisiais failais taip pat, kaip objektų failus, o tada ištrinti nepažeidžiant programos. Nors dažnai galima atsisakyti statinės bibliotekos, jos dažnai naudingos organizavimo požiūriu. Tiek naudotojams, tiek kūrėjams paprastai lengviau turėti vieną failą su susijusia medžiaga, nei turėti daug mažų failų. Daugelis kūrėjų statines bibliotekas kuria specialiai šiai organizacinei naudai.

Statinės bibliotekos kūrimas yra daug paprastesnis nei dinaminės bibliotekos. Statinių bibliotekų turinys nėra susietas, nes nesitikima, kad jos veiktų pačios, todėl joms sukurti dažniausiai pakanka paprasto archyvatoriaus. Sukurti statinę biblioteką, kuri nesusieja tinkamai savyje, savaime nėra pavojinga, kol biblioteka yra susieta su bet kokiais kitais išoriniais failais, kurių gali prireikti. Biblioteka gali priklausyti nuo išorinės objektų failų grupės arba viena biblioteka gali priklausyti nuo kitos. Statinių bibliotekų naudojimas ir organizavimas dažnai yra asmeninis programuotojo pasirinkimas, o ne reikalavimas, nors dėl būdingo mobilumo jos dažnai yra pageidautinas pasirinkimas.