Verskil tussen DLL en LIB

Verskil tussen DLL en LIB
Verskil tussen DLL en LIB

Video: Verskil tussen DLL en LIB

Video: Verskil tussen DLL en LIB
Video: TM21#30 : DEEL 1 : Appelsap / perensap en appel en perencider maken 2024, November
Anonim

DLL vs LIB

'n Biblioteek is 'n versameling hulpbronne wat gebruik kan word om toepassings te ontwikkel. 'n Biblioteek bestaan gewoonlik uit subroetines, funksies, klasse, waardes en tipes. Tydens die koppelingsproses (gewoonlik deur 'n skakelaar gedoen), verwys biblioteke en uitvoerbare programme na mekaar. Biblioteeklêers word in statiese en dinamiese biblioteke verdeel, afhangende van die tyd waarop die subroetines na die teikentoepassing gelaai word. Gevolglik is LIB-lêers staties gekoppelde biblioteke en DLL-lêers is dinamies gekoppelde biblioteke.

Wat is DLL?

Dynamiese skakelbiblioteek (meer algemeen bekend as DLL) is 'n gedeelde biblioteekimplementering wat deur Microsoft ontwikkel is. Dit gebruik die.dll-,.ocx- of.drv-uitbreidings en hulle word in Microsoft Windows en OS/2-bedryfstelsels gebruik..dll word deur die gewone DLL-lêers gebruik. En.ocx-uitbreiding word gebruik deur biblioteke wat ActiveX-kontroles bevat en.drv-uitbreiding word deur verouderde stelselbestuurderlêers gebruik. Die DLL-lêerformaat is dieselfde as die Windows EXE-lêers (draagbare uitvoerbare lêers op 32-bis/64-bis Windows, en New Executable op 16-bis Windows). Daarom kan enige kombinasie van kode, data en hulpbronne in DLL-lêers vervat word (net soos in EXE-lêers). Trouens, datalêers met die DLL-lêerformaat word hulpbron-DLL's genoem. Ikoonbiblioteke (met.icl-uitbreiding) en lettertipelêers (met.fon- en.fot-uitbreidings) is voorbeelde van hulpbron-DLL'e.

Komponente genaamd afdelings maak 'n DLL uit en elke afdeling het sy eie eienskappe soos leesalleen/skryfbaar en uitvoerbaar/nie-uitvoerbaar. Kode-afdelings is uitvoerbaar, terwyl data-afdelings nie uitvoerbaar is nie. Die kode-afdelings word gedeel en data-afdelings is privaat. Dit beteken dat alle prosesse wat die DLL gebruik, dieselfde kopie van die kode sal gebruik, terwyl elke proses sy eie kopie van die data sal hê. Die primêre dinamiese biblioteek vir Windows is kernel32.dll, wat die basisfunksies (lêer- en geheueverwante funksionaliteit) op Windows bevat. COM (Component Object Model) is die uitbreiding van DLL na OOP (Object Oriented Programming). Konvensionele DLL's is makliker om te gebruik as COM-lêers.

Wat is LIB?

LIB-lêers is statiese biblioteke (ook bekend as staties-gekoppelde biblioteke). LIB-lêers bevat 'n versameling subroetines, eksterne funksies en veranderlikes. LIB-lêers word tydens samestelling opgelos (in teenstelling met hardlooptyd). Die kode word eintlik na die teikentoepassing gekopieer. 'n Samesteller, skakelaar of 'n binder sal hierdie resolusie doen en 'n objeklêer en 'n uitvoerbare lêer produseer. Hierdie proses word statiese bouproses genoem.

Wat is die verskil tussen DLL en LIB?

LIB-biblioteke kan tydens samestellingstyd geroep word, maar DLL-biblioteke kan slegs gedurende die looptyd geroep word. LIB-lêers is aansienlik groter as DLL-lêers. 'n Baie algemene probleem met DLL-lêers is die weergaweprobleem. Dit gebeur wanneer die kode van die DLL verander word en die toepassing 'n verkeerde weergawe van 'n DLL gebruik. Dit is nie 'n probleem wat met LIB-lêers geassosieer word nie. Wat herbruikbaarheid betref, wanneer nuwe weergawes van stelsels of heeltemal nuwe toepassings geskryf word, is DLL's altyd beter as LIB's.

Aanbeveel: