Mikä on staattinen kirjasto?

Staattinen kirjasto on tietokonearkisto, joka sisältää joukon aiheeseen liittyviä tiedostoja, jotka on helppo yhdistää ohjelmiin. Tämän kirjaston sisältö on yleensä konekooditiedostoja, joita ihmiset eivät voi lukea. Nämä konekooditiedostot luodaan yleensä koodin kokoamisesta tai vastaavasta prosessista. Useimmissa käyttöjärjestelmissä on vakiolaajennuksia staattisille kirjastoille, joten ne on helppo tunnistaa koosta tai sisällöstä riippumatta.

Kaksi erilaista tietokonekirjastoa ovat staattisia ja dynaamisia. Staattinen kirjasto on joustavampi kuin dynaaminen kirjasto, koska sen tarkka polku ei liity sitä käyttävään suoritettavaan tiedostoon. Staattiset kirjastot linkitetään suoritettavaan tiedostoon ja voidaan tarvittaessa poistaa, koska niiden sisältö on sisällytetty lopulliseen ohjelmaan. Dynaamista kirjastoa ei voi poistaa, koska sen sisältö ladataan suoritettavan suorituksen aikana, joten sen sijainnit suhteessa suoritettavaan tiedostoon ja käyttöjärjestelmään ovat tärkeitä. Staattisen linkityksen avulla kirjastoa voidaan siirtää tai käyttää uudelleen ilman huolta absoluuttisista sijaintireiteistä.

Toisin kuin dynaaminen kirjasto, staattinen kirjasto ei yleensä ole suoritettavissa yksin. C ++: ssa staattiset kirjastot toimivat usein kuin suuret objektitiedostot, ja ne voidaan linkittää suoritettaviin tiedostoihin samalla tavalla kuin objektitiedostot voidaan poistaa ja sitten poistaa vahingoittamatta ohjelmaa. Vaikka on usein mahdollista luopua staattisesta kirjastosta, ne ovat usein hyödyllisiä organisaation kannalta. Sekä käyttäjille että kehittäjille on yleensä helpompaa saada yksi tiedosto, joka sisältää aiheeseen liittyvää materiaalia kuin monia pieniä tiedostoja. Monet kehittäjät rakentavat staattisia kirjastoja nimenomaan tätä organisatorista hyötyä varten.

Staattisen kirjaston rakentaminen on paljon yksinkertaisempaa kuin dynaamisen kirjaston rakentaminen. Staattisten kirjastojen sisältöä ei linkitetä yhteen, koska niiden ei odoteta toimivan itsestään, joten yksinkertainen arkistoija riittää yleensä niiden luomiseen. Staattisen kirjaston luominen, joka ei linkitä oikein itsessään, ei ole luonnostaan ​​vaarallista, kunhan kirjasto on linkitetty muihin mahdollisesti tarvittaviin ulkoisiin tiedostoihin. Kirjasto voi riippua ulkoisesta objektitiedostojen ryhmästä tai yksi kirjasto voi riippua toisesta. Staattisten kirjastojen käyttö ja organisointi on usein ohjelmoijan henkilökohtainen valinta eikä vaatimus, vaikka niiden luontainen liikkuvuus tekee niistä usein toivottavan valinnan.