Starpība starp montāžu un DLL

Montāža vs DLL

Bibliotēka ir resursu kolekcija, ko var izmantot lietojumprogrammu izstrādei. Bibliotēku parasti veido apakšprogrammas, funkcijas, klases, vērtības un veidi. Saistīšanas procesa laikā (parasti to veic saistītājs) bibliotēkas un izpildāmie faili atsaucas viens uz otru. DLL faili ir bibliotēkas faili, kas ir dinamiski saistīti. DLL izstrādāja Microsoft. Bet dažu ar DLL failiem saistītu problēmu dēļ Microsoft nāca klajā ar Assembly faila formātu (ar .NET sistēmu). Montāžas faili fiziski ir ļoti līdzīgi DLL, taču tiem ir daudz iekšēju atšķirību.

Kas ir DLL?

Dinamisko saišu bibliotēka (plašāk pazīstama kā DLL) ir kopīga bibliotēkas ieviešana, ko izstrādājusi Microsoft. Tas izmanto paplašinājumus .dll, .ocx vai .drv, un tos izmanto Microsoft Windows un OS / 2 operētājsistēmās. Dll izmanto parastie DLL faili. Un .ocx paplašinājumu izmanto bibliotēkas, kurās ir ActiveX vadīklas, un .drv paplašinājumu izmanto mantotās sistēmas draivera faili. DLL faila formāts ir tāds pats kā Windows EXE failiem (pārnēsājamie izpildāmie faili 32 bitu / 64 bitu operētājsistēmā Windows un jauns izpildāmais fails 16 bitu operētājsistēmā Windows). Tāpēc jebkuru faila, datu un resursu kombināciju var ietvert DLL failos (tāpat kā EXE failos). Faktiski datu failus ar DLL faila formātu sauc par resursu DLL. Resursu DLL piemēri ir ikonu bibliotēkas (ar paplašinājumu .icl) un fontu faili (ar paplašinājumiem .fon un .fot).

Komponenti, kurus sauc par sekcijām, veido DLL, un katrai sadaļai ir savi atribūti, piemēram, tikai lasāmi / ierakstāmi un izpildāmi / neizpildāmi. Koda sadaļas ir izpildāmas, savukārt datu sadaļas nav izpildāmas. Koda sekcijas tiek dalīta un datu sekcijas ir privātas. Tas nozīmē, ka visos procesos, izmantojot DLL, tiks izmantota viena un tā pati koda kopija, savukārt katram procesam būs sava datu kopija. Primārā dinamiskā bibliotēka operētājsistēmai Windows ir kernel32.dll, kurā ir Windows pamatfunkcijas (ar failiem un atmiņu saistītā funkcionalitāte). COM (Component Object Model) ir DLL paplašinājums līdz OOP (Object Oriented Programming). Parastie DLL ir vieglāk izmantot nekā COM failiem.

Kas ir asambleja?

Montāžas failus ieviesa Microsoft, lai atrisinātu vairākas problēmas, kas saistītas ar DLL failiem. Montāžas faili tika ieviests ar Microsoft .NET ietvaros. Izpildāmā loģiskā funkcionalitātes vienība tiek saukta par asambleju. Asamblejas ir izpildāmas, izmantojot .NET CLR (Common Language Runtime). Fiziski mezgli pastāv kā EXE vai DLL faili. Bet tie ir ļoti atšķirīgi no Microsoft Win32 DLL, iekšēji. Montāžas failu veido manifests, metadati, MISL (Microsoft starpvalodu kods) un citi resursi. Montāža sevi raksturo. Manifestā ir tāda informācija kā vārds, versija, kultūra, spēcīgais nosaukums, failu saraksts, veidi un atkarības. MISL kods tiek izpildīts caur CLR (to nevar tieši izpildīt).

Kāda ir atšķirība starp asamblejas un DLL?

DLL ir dinamiski saistīta bibliotēka. Lai arī agregāti fiziski ir vienādi ar DLL, tie iekšēji ir ļoti atšķirīgi. Nevar uzturēt konsekvenci starp DLL kopu, bet CLR var saglabāt konsekvenci starp komplektu kopu, jo mezgli sevi raksturo (tie satur atkarību sarakstu iekšēji). Atšķirībā no DLL, versiju informācija tiek ieviesta mezgliem (ar CLR). Ar agregātu palīdzību ir iespējama izvietošana blakus (dažādas lietojumprogrammas, izmantojot dažādas versijas).