Razlika između LIB i DLL

LIB vs DLL

Pri razvoju softvera često nas pitaju želimo li koristiti LIB ili DLL u sadržaju funkcija za aplikaciju. LIB je statička knjižnica u koju se mogu smjestiti funkcije i postupci dok se aplikacija sastavlja. DLL ili Dynamic Link Library radi istu funkciju, ali je dinamična u smislu da aplikacija može nazvati te biblioteke tijekom izvođenja, a ne tijekom kompilacije. To predstavlja nekoliko značajnih prednosti u usporedbi s korištenjem LIB-a.

Za početak biste imali jednu datoteku koja je znatno veća, jer sadrži svu šifru, dok biste imali više datoteka s manjim brojem kada koristite DLL. Sastavljanje vaših funkcija i postupaka također bi vam omogućilo više ponovne upotrebe jer jednom kad budete zadovoljni funkcijama na DLL-u, jer možete ga zadržati kao i kod svake verzije aplikacije i ne morate se miješati s njim. Možete koristiti istu DLL ako želite stvoriti drugu aplikaciju koja koristi iste funkcije i postupke. Možete se izravno povezati s DLL-om, a ne kopirati kôd iz izvora kao što bi trebalo da učinite s LIB-om.

Problem s DLL-om je kada promijenite sadržaj DLL-a. To može dovesti do problema s inačicom gdje aplikacija koristi pogrešnu verziju DLL-a što uzrokuje probleme. Trebate pratiti svoje DLL-ove kako biste izbjegli ove probleme. Ne biste imali ovaj problem s LIB-om jer biste dobili samo jednu veliku datoteku.

Prilikom razvoja softvera i odabira DLL-a, u projektu ćete i dalje imati LIB datoteku. Ali za razliku od upotrebe LIB-a, ova datoteka ne sadrži kôd funkcija i postupaka, već samo dijelove koji programu trebaju pozivati ​​procedure iz DLL-ova.

Sažetak:
1. DLL je knjižnica koja sadrži funkcije koje aplikacije mogu pozvati u vrijeme izvođenja, dok je LIB statična knjižnica čiji se kôd treba pozvati tijekom kompilacije.
2. Upotreba LIB-a rezultirala bi jednom datotekom koja je znatno veća dok na kraju imate više manjih datoteka s DLL-ovima
3. DLL-ovi su višestruko korisni od LIB-ova pri pisanju novih verzija ili potpuno novih aplikacija
4. DLL datoteke mogu koristiti i drugi programi dok LIB datoteke ne mogu
5. DLL-ovi su skloni problemima s verzijama dok LIB nije
6. I dalje biste imali LIB datoteku kada razvijate softver s DLL-om, ali on sadrži samo stabljike