Montage versus DLL
Een bibliotheek is een verzameling bronnen die kunnen worden gebruikt om applicaties 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). Assembly-bestanden lijken fysiek erg op DLL's, maar ze hebben veel interne verschillen.
Wat is DLL?
Dynamic Link Library (beter bekend als DLL) is een gedeelde bibliotheekimplementatie die is ontwikkeld door Microsoft. Het maakt gebruik van de.dll,.ocx of.drv extensies en ze worden gebruikt in Microsoft Windows en OS / 2 besturingssystemen..dll wordt gebruikt door de reguliere DLL-bestanden. En.ocx-extensie wordt gebruikt door de bibliotheken die ActiveX-besturingselementen bevatten en.drv-extensie wordt gebruikt door oudere systeemstuurprogrammabestanden. Het DLL-bestandsformaat is hetzelfde als de Windows EXE-bestanden (Portable Executable-bestanden op 32-bit / 64-bit Windows en New Executable op 16-bit Windows). Daarom kan elke combinatie van code, gegevens en bronnen in DLL-bestanden staan (net als in EXE-bestanden). Gegevensbestanden met het DLL-bestandsformaat worden trouwens bron-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 attributen zoals alleen-lezen / beschrijfbaar en uitvoerbaar / niet-uitvoerbaar. Codesecties zijn uitvoerbaar, terwijl gegevenssecties niet uitvoerbaar zijn. De codesecties zijn gedeeld en de gegevenssecties zijn privé. Dat betekent dat alle processen die de DLL gebruiken, dezelfde kopie van de code gebruiken, terwijl elk proces zijn eigen kopie van de gegevens heeft. 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. Assembly-bestanden werden 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 ze zijn intern heel anders dan Microsoft Win32 DLL's. Een assembly-bestand bestaat uit een manifest, metagegevens, MISL (Microsoft Intermediate Language-code) en andere bronnen. Een vergadering is zichzelf beschrijvend. Het manifest bevat de informatie zoals naam, versie, cultuur, sterke naam, bestandenlijst, typen en afhankelijkheden. MISL-code wordt uitgevoerd via CLR (het kan niet rechtstreeks worden uitgevoerd).
Wat is het verschil tussen Assembly en DLL?
DLL is een dynamisch gekoppelde bibliotheek. Hoewel assemblages fysiek gelijk zijn aan DLL's, zijn ze intern heel verschillend. Het is niet mogelijk om de consistentie tussen een set DLL's te behouden, maar de CLR kan de consistentie tussen een set assembly's behouden, omdat assembly's zichzelf beschrijven (ze bevatten de lijst met afhankelijkheden intern). In tegenstelling tot DLL's, wordt versie-informatie afgedwongen voor assembly's (door de CLR). Side-by-side implementatie (verschillende applicaties met verschillende versies) is mogelijk met assemblages.