Assembly vs DLL
Een bibliotheek is een verzameling bronnen die kunnen worden gebruikt om toepassingen te ontwikkelen. Een bibliotheek bestaat meestal uit subroutines, functies, klassen, waarden en typen. Tijdens het koppelingsproces (meestal gedaan door een linker), verwijzen bibliotheken en uitvoerbare bestanden naar elkaar. DLL-bestanden zijn de bibliotheekbestanden die dynamisch zijn gekoppeld. DLL is ontwikkeld door Microsoft. Maar vanwege enkele problemen met DLL-bestanden, kwam Microsoft met het Assembly-bestandsformaat (met het. NET-framework). Assemblagebestanden lijken fysiek sterk op DLL's, maar ze hebben veel interne verschillen.
Wat is DLL?
Dynamic Link Library (beter bekend als DLL) is een implementatie van een gedeelde bibliotheek die is ontwikkeld door Microsoft. Het gebruikt de extensies.dll,.ocx of.drv en ze worden gebruikt in Microsoft Windows- en OS/2-besturingssystemen..dll wordt gebruikt door de reguliere DLL-bestanden. En de.ocx-extensie wordt gebruikt door de bibliotheken die ActiveX-besturingselementen bevatten en de.drv-extensie wordt gebruikt door oudere systeemstuurprogrammabestanden. Het DLL-bestandsformaat is hetzelfde als de Windows EXE-bestanden (Portable Executable-bestanden op 32-bits/64-bits Windows en New Executable op 16-bits Windows). Daarom kan elke combinatie van code, gegevens en bronnen worden opgenomen in DLL-bestanden (net als in EXE-bestanden). In feite worden gegevensbestanden met het DLL-bestandsformaat resource-DLL's genoemd. Pictogrambibliotheken (met.icl-extensie) en lettertypebestanden (met.fon- en.fot-extensies) zijn voorbeelden van bron-DLL's.
Componenten die secties worden genoemd, vormen een DLL en elke sectie heeft zijn eigen kenmerken, zoals alleen-lezen/beschrijfbaar en uitvoerbaar/niet-uitvoerbaar. Codesecties zijn uitvoerbaar, terwijl gegevenssecties niet uitvoerbaar zijn. De codesecties worden gedeeld en de gegevenssecties zijn privé. Dat betekent dat alle processen die de DLL gebruiken dezelfde kopie van de code zullen gebruiken, terwijl elk proces zijn eigen kopie van de gegevens zal hebben. De primaire dynamische bibliotheek voor Windows is kernel32.dll, die de basisfuncties (bestands- en geheugengerelateerde functionaliteit) op Windows bevat. COM (Component Object Model) is de uitbreiding van DLL naar OOP (Object Oriented Programming). Conventionele DLL's zijn gemakkelijker te gebruiken dan COM-bestanden.
Wat is een vergadering?
Assembly-bestanden zijn door Microsoft geïntroduceerd om verschillende problemen met DLL-bestanden op te lossen. Assemblagebestanden zijn geïntroduceerd met het Microsoft. NET-framework. Een uitvoerbare logische eenheid van functionaliteit wordt een Assembly genoemd. Assemblies zijn uitvoerbaar onder. NET CLR (Common Language Runtime). Fysiek bestaan assemblages als EXE- of DLL-bestanden. Maar intern zijn ze heel anders dan Microsoft Win32 DLL's. Een assembly-bestand bestaat uit een manifest, metadata, MISL (Microsoft Intermediate Language-code) en andere bronnen. Een assembly beschrijft zichzelf. Het manifest bevat de informatie zoals naam, versie, cultuur, sterke naam, bestandenlijst, typen en afhankelijkheden. MISL-code wordt uitgevoerd via CLR (het kan niet direct worden uitgevoerd).
Wat is het verschil tussen Assembleren en DLL?
DLL is een dynamisch gekoppelde bibliotheek. Hoewel assemblages fysiek gelijk zijn aan DLL's, zijn ze intern erg verschillend. Het is niet mogelijk om consistentie te handhaven tussen een set DLL's, maar de CLR kan consistentie behouden tussen een set assemblages, omdat assemblages zichzelf beschrijven (ze bevatten de lijst met afhankelijkheden intern). In tegenstelling tot DLL's, wordt versiebeheer voor assemblages afgedwongen (door de CLR). Side-by-side implementatie (verschillende applicaties die verschillende versies gebruiken) is mogelijk met assemblies.