Dynamic-link library
Een dynamic-link library, ook wel bekend als DLL, is een bibliotheek met functies, die door verschillende applicaties kunnen worden gebruikt. Hun extensie is .d…
Een dynamic-link library, ook wel bekend als DLL, is een bibliotheek met functies, die door verschillende applicaties kunnen worden gebruikt. Hun extensie is .dll. Ze zijn voor het eerst in 1964 in Multics gebruikt en worden sinds 1985 in Windows toegepast. Een dynamic-link library is het tegenovergestelde van een statisch gekoppelde bibliotheek, die in elk programma dat die gebruikt moet worden ingebouwd. De bedoeling van een DLL is dat de bibliotheek alleen eenmaal op de harde schijf hoeft te worden bewaard, waardoor schijfruimte wordt bespaard en dat ze ook maar eenmaal in het geheugen hoeft te worden geladen, terwijl toch verschillende toepassingen er gebruik van kunnen maken. Een DLL wordt geladen zodra de eerste applicatie hem nodig heeft en kan door de kernel uit het geheugen worden verwijderd zodra alle applicaties die de DLL in gebruik hadden deze hebben afgemeld. DLL's worden in Windows voor de kernel gebruikt.
Het bestandsformaat van een DLL is hetzelfde als dat van een executable met extensie .exe, maar verschillende versies van Windows gebruiken een ander formaat. 32 bit- en 64 bit-Windows-versies gebruiken Portable Executable PE en 16 bit-Windowsversies New Executable NE. Het grote verschil tussen DLL en EXE is dat een DLL niet meteen kan worden uitgevoerd, omdat het besturingssysteem een entry point nodig heeft om de uitvoering te starten. Windows heeft een hulpprogramma (RUNDLL.EXE/RUNDLL32.EXE) om functies in een DLL uit te voeren. Aangezien ze hetzelfde formaat hebben kan een EXE als een DLL worden gebruikt. Een programma kan een EXE op dezelfde manier laden als een DLL.
Een nadeel van DLL's is dat er in het verleden dikwijls verschillende versies van DLL's in omloop waren, waardoor er conflicten ontstonden, de zogenaamde dll hell. Dit wordt tegenwoordig verholpen door strikte versienummers te gebruiken.
Linux maakt ook gebruik van dynamisch gelinkte bibliotheken maar noemt die shared objects. Die hebben extensie .so.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.