Vad är ett statiskt bibliotek?

Ett statiskt bibliotek är ett datorarkiv som innehåller en grupp relaterade filer för enkel länkning till program. Innehållet i detta bibliotek är vanligtvis maskinkodfiler som inte är läsbara av människor. Dessa maskinkodfiler genereras normalt från kodkompilering eller en liknande process. De flesta operativsystem har standardtillägg för statiska bibliotek, så de är lätta att identifiera oavsett storlek eller innehåll.

De två olika typerna av datorbibliotek är statiska och dynamiska. Ett statiskt bibliotek är mer flexibelt än ett dynamiskt bibliotek eftersom dess exakta sökväg är irrelevant för den körbara filen som använder den. Statiska bibliotek länkas till en körbar fil och kan sedan raderas vid behov eftersom deras innehåll har inkluderats i det slutliga programmet. Ett dynamiskt bibliotek kan inte tas bort eftersom dess innehåll laddas när den körbara filen körs, så dess platser i förhållande till den körbara filen och i operativsystemet är viktiga. Statisk länkning gör att ett bibliotek kan flyttas eller återanvändas utan hänsyn till absoluta platsvägar.

I motsats till ett dynamiskt bibliotek är ett statiskt bibliotek vanligtvis inte körbart på egen hand. I C++ fungerar statiska bibliotek ofta som stora objektfiler, och de kan länkas till körbara filer på samma sätt som objektfiler kan och sedan raderas utan att det skadar programmet. Även om det ofta är möjligt att avstå från ett statiskt bibliotek, är de ofta användbara i form av organisation. För både användare och utvecklare är det vanligtvis lättare att ha en enda fil som innehåller relaterat material än att ha många små filer. Många utvecklare bygger statiska bibliotek specifikt för denna organisatoriska fördel.

Att bygga ett statiskt bibliotek är mycket enklare än att bygga ett dynamiskt bibliotek. Innehållet i statiska bibliotek är inte sammanlänkade eftersom de inte förväntas köra på egen hand, så det räcker vanligtvis med en enkel arkivering för att skapa dem. Att skapa ett statiskt bibliotek som inte länkar ordentligt inom sig självt är inte farligt så länge som biblioteket är länkat med andra externa filer som kan vara nödvändiga. Ett bibliotek kan vara beroende av en extern grupp av objektfiler, eller ett bibliotek kan bero på ett annat. Användningen och organisationen av statiska bibliotek är ofta ett personligt val från programmerarens sida snarare än ett krav, även om deras inneboende rörlighet ofta gör dem till ett önskvärt val.