Mis on staatiline raamatukogu?

Staatiline teek on arvutiarhiiv, mis sisaldab rühma seotud faile, mida on lihtne programmidesse linkida. Selle teegi sisu on tavaliselt masinkoodifailid, mida inimesed ei loe. Need masinkoodifailid genereeritakse tavaliselt koodide kompileerimise või sarnase protsessi käigus. Enamikul operatsioonisüsteemidel on staatiliste teekide standardlaiendid, nii et neid on lihtne tuvastada olenemata suurusest või sisust.

Kaks erinevat tüüpi arvutiteeki on staatilised ja dünaamilised. Staatiline teek on paindlikum kui dünaamiline teek, kuna selle täpne tee on seda kasutava käivitatava faili jaoks ebaoluline. Staatilised teegid lingitakse käivitatavasse faili ja neid saab seejärel vajadusel kustutada, kuna nende sisu on lisatud lõplikku programmi. Dünaamilist teeki ei saa kustutada, kuna selle sisu laaditakse käivitatava faili käivitamisel, seega on selle asukoht käivitatava faili ja operatsioonisüsteemi suhtes oluline. Staatiline linkimine võimaldab teeki teisaldada või uuesti kasutada, muretsemata absoluutsete asukohateede pärast.

Vastupidiselt dünaamilisele teegile ei ole staatiline teek tavaliselt iseseisvalt käivitatav. C++ puhul toimivad staatilised teegid sageli nagu suured objektifailid ja neid saab käivitatavateks failideks linkida samamoodi nagu objektifaile ja seejärel kustutada ilma programmi kahjustamata. Kuigi sageli on võimalik staatilisest teegist loobuda, on need korralduslikult sageli kasulikud. Nii kasutajate kui ka arendajate jaoks on tavaliselt lihtsam omada ühte seotud materjali sisaldavat faili kui palju väikeseid faile. Paljud arendajad loovad staatilisi teeke spetsiaalselt selle organisatsioonilise kasu jaoks.

Staatilise raamatukogu loomine on palju lihtsam kui dünaamilise raamatukogu loomine. Staatiliste teekide sisu ei ole omavahel lingitud, kuna eeldatakse, et need ei tööta iseseisvalt, nii et nende loomiseks piisab tavaliselt lihtsast arhiveerijast. Staatilise teegi loomine, mis ei lingi enda sees korralikult, ei ole iseenesest ohtlik, kui teek on lingitud muude vajalike väliste failidega. Teek võib sõltuda objektifailide välisest rühmast või üks teek võib sõltuda teisest. Staatiliste teekide kasutamine ja korraldamine on sageli pigem programmeerija isiklik valik kui nõue, kuigi nende loomupärane mobiilsus muudab need sageli soovitavaks valikuks.