Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!


Dinaminės bibliotekos

Iš Pipedijos - durniausios enciklopedijos.
Jump to navigation Jump to search

Dinaminės bibliotekos - tai tokios programinės bibliotekos, kurios prijungiamos prie programų tik tuo metu, kai programos vykdomos. Visa mintis paprasta: nėra ko čia laikyti į atmintį pakrautų bibliotekų, kurios ir RAM užima, ir šiaip vietą užimdinėja.

Dinaminių bibliotekų naudojimas duoda kelis esminius pliusus:

  • Bibliotekinės funkcijos gali būti kraunamos į RAM tik pagal poreikį, kai jų prireiks, o ne iš anksto - tai reiškia, kad mažėja RAM vartojimas
  • Tas pačias bibliotikines funkcijas gali naudoti daugelis skirtingų programų - tai reiškia, kad jos užims daug mažiau vietos diske, nes nesikartos
  • Dinamines bibliotekas galima atnaujinti nepriklausomai nuo programos kodo, tai reiškia, kad lengviau taisyti bugus ir apgreidinti sistemas

Praktikoje išties tai būna dažnai atvirkščiai - kai kokia nors programa Windows rėkia, kad jai reikia kokio tai specifinio DLL, ar panašiai Linux programa rėkia, kad jai reikia kokio tai specifinio SO. O tą failą paatnaujinus, jau kitos programos pradeda rėkti, kad joms jis netinka. Ir kuo sistemos sudėtingesnės, tuo didesnė tikimybė, kad kokia nors programa užsiožiuos ir nustos dirbti vien dėl to, kad dinaminėse bibliotekose nesusigaudė.

Pačių dinaminių bibliotekų apgreidinimas irgi būna su problemomis - jų autoriai neretai būna visiškai bbd ant vartotojų ir savo pačių darbo, ir būna, kad iš bibliotekų kažkurias funkcijas pašalina, kažkurias prideda, kažkurias pakeičia, ir todėl, pasikeitus dinaminio libo versijai, kas nors ima ir subyra. Aišku, to dar gal kaip nors galima išvengti, kai būna koks rimtas softo gamintojas, pvz., koks Microsoft su savo Direct-X, bet kai kalba užeina apie Linux - tai tenai jau išties prasideda šūdinos kančios.

Tai dėl to daugelis senesnių programuotojų žino, kad geriau po senovei linkinti viską statiškai, su statinėmis bibliotekomis, tai gausi darbingą softą, kuris visur veiks taip, kaip reikia, ir niekam nereiks sukti galvos.