LIB proti DLL
Pri razvijanju programske opreme nas pogosto sprašujejo, ali želimo uporabiti LIB ali DLL v funkcijah, ki vsebujejo aplikacijo. LIB je statična knjižnica, v katero se lahko funkcije in postopki postavijo in pokličejo med sestavljanjem aplikacije. Knjižnica DLL ali Dynamic Link deluje isto funkcijo, vendar je dinamična v smislu, da lahko aplikacija te knjižnice pokliče med izvajanjem in ne med kompilacijo. To predstavlja nekaj pomembnih prednosti v primerjavi z uporabo LIB.
Za začetek bi imeli eno datoteko, ki je bistveno večja, saj vsebuje vso kodo, medtem ko bi pri uporabi DLL imeli več manjših datotek. S sestavljanjem svojih funkcij in postopkov bi vam omogočili tudi večjo uporabo, saj ko boste zadovoljni s funkcijami na DLL-ju, ker jo lahko obdržite tako, kot je pri vsaki različici aplikacije in se z njo ni treba zmešati. Enako DLL lahko uporabite tudi, če želite ustvariti drugo aplikacijo, ki uporablja iste funkcije in postopke. Lahko se neposredno povežete z DLL, namesto da kopirate kodo iz vira, kot bi to morali storiti z LIB.
Težava z DLL je, ko spremenite vsebino DLL. To lahko privede do težav z različico, kadar aplikacija uporablja napačno različico DLL, kar povzroča težave. Če želite preprečiti te težave, morate spremljati svoje DLL datoteke. Te težave ne bi imeli z LIB, saj bi dobili le eno veliko datoteko.
Ko razvijate programsko opremo in izbirate DLL, bi v projektu še vedno imeli datoteko LIB. Toda za razliko od uporabe LIB-a ta datoteka ne vsebuje kode funkcij in postopkov, ampak le droge, ki jih mora program poklicati iz DLL-jev.
Povzetek:
1. DLL je knjižnica, ki vsebuje funkcije, ki jih aplikacije lahko pokličejo med izvajanjem, medtem ko je LIB statična knjižnica, katere kodo je treba poklicati med kompilacijo
2. Uporaba LIB bi povzročila enotno datoteko, ki je precej večja, medtem ko imate na koncu več manjših datotek z DLL-ji
3. DLL-ji so pri pisanju novih različic ali popolnoma novih aplikacij bolj uporabni kot LIB-ji
4. Datoteke DLL lahko uporabljajo druge aplikacije, medtem ko datotek LIB ne morejo
5. DLL-ji so nagnjeni k težavam z različicami, medtem ko LIB ne
6. Še vedno bi imeli datoteko LIB, ko razvijate programsko opremo z DLL-ji, vendar vsebuje le nalepke