Rozdiel medzi LIB a DLL

LIB vs DLL

Pri vývoji softvéru sa často pýtame, či chceme používať LIB alebo DLL pri obsadzovaní funkcií aplikácie. LIB je statická knižnica, do ktorej je možné pri zostavovaní aplikácie umiestňovať a nazývať funkcie a postupy. Knižnica DLL alebo dynamická knižnica vykonáva rovnakú funkciu, ale je dynamická v tom zmysle, že aplikácia môže tieto knižnice volať počas behu programu a nie počas kompilácie. To predstavuje v porovnaní s používaním LIB niekoľko významných výhod.

Pre začiatok by ste mali jeden súbor, ktorý je podstatne väčší, pretože obsahuje celý kód, zatiaľ čo pri použití DLL by ste mali viac menších súborov. Zostavenie vašich funkcií a postupov by vám tiež umožnilo viac opätovného použitia, keď budete spokojní s funkciami v knižnici DLL, pretože si ich môžete ponechať tak, ako je to v každej verzii aplikácie a nemusíte sa s ňou baviť. Rovnakú knižnicu DLL môžete tiež použiť, ak chcete vytvoriť inú aplikáciu, ktorá používa rovnaké funkcie a postupy. Môžete priamo prepojiť s knižnicou DLL, a nie kopírovať kód zo zdroja, ako by ste to potrebovali s LIB.

Problém s knižnicou DLL je pri zmene obsahu knižnice DLL. To môže viesť k problémom s verziou, keď aplikácia používa nesprávnu verziu DLL, ktorá spôsobuje problémy. Aby ste sa vyhli týmto problémom, musíte sledovať svoje dll. S LIB by ste tento problém nemali, pretože by ste dostali iba jeden veľký súbor.

Pri vývoji softvéru a výbere DLL by ste vo svojom projekte stále mali súbor LIB. Na rozdiel od použitia LIB však tento súbor neobsahuje kód funkcií a postupov, ale iba útržky, ktoré program potrebuje na vyvolanie procedúr z knižnice DLL..

Zhrnutie:
1. DLL je knižnica, ktorá obsahuje funkcie, ktoré môžu aplikácie volať za behu, zatiaľ čo LIB je statická knižnica, ktorej kód treba počas kompilácie vyvolať.
2. Použitie LIB by viedlo k jedinému súboru, ktorý je podstatne väčší, keď skončíte s viacerými menšími súbormi s knižnicami DLL
3. DLL sú viac použiteľné ako LIB pri písaní nových verzií alebo úplne nových aplikácií
4. Súbory DLL môžu používať iné aplikácie, zatiaľ čo súbory LIB nie
5. DLL sú náchylné na problémy s verzovaním, zatiaľ čo LIB nie
6. Stále by ste mali súbor LIB, keď vyvíjate softvér s DLL, ale obsahuje iba výhonky