Montāža pret 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 viena uz otru. DLL faili ir bibliotēkas faili, kas ir dinamiski saistīti. DLL izstrādāja Microsoft. Taču dažu DLL failu problēmu dēļ Microsoft nāca klajā ar Assembly faila formātu (ar. NET ietvaru). Montāžas faili fiziski ir ļoti līdzīgi DLL, taču tiem ir daudz iekšēju atšķirību.
Kas ir DLL?
Dynamic Link Library (plašāk pazīstama kā DLL) ir Microsoft izstrādāta koplietojamā bibliotēka. Tas izmanto.dll,.ocx vai.drv paplašinājumus, 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 mantotie sistēmas draiveru faili. DLL faila formāts ir tāds pats kā Windows EXE failiem (pārnēsājamie izpildāmie faili 32 bitu/64 bitu Windows sistēmā un jauni izpildāmie faili 16 bitu sistēmā Windows). Tāpēc DLL failos var būt jebkura koda, datu un resursu kombinācija (tāpat kā EXE failos). Faktiski datu failus ar DLL faila formātu sauc par resursu DLL. Ikonu bibliotēkas (ar paplašinājumu.icl) un fontu faili (ar paplašinājumiem.fon un.fot) ir resursu DLL piemēri.
Komponenti, ko sauc par sadaļām, veido DLL, un katrai sadaļai ir savi atribūti, piemēram, tikai lasāma/rakstāma un izpildāma/neizpildāma. Koda sadaļas ir izpildāmas, savukārt datu sadaļas nav izpildāmas. Koda sadaļas tiek koplietotas, un datu sadaļas ir privātas. Tas nozīmē, ka visi procesi, kas izmanto DLL, izmantos vienu un to pašu koda kopiju, 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īta funkcionalitāte). COM (Component Object Model) ir DLL paplašinājums uz OOP (Object Oriented Programming). Parastos DLL ir vieglāk izmantot nekā COM failus.
Kas ir asambleja?
Komplekta failus Microsoft ieviesa, lai atrisinātu vairākas problēmas, kas saistītas ar DLL failiem. Montāžas faili tika ieviesti ar Microsoft. NET ietvaru. Izpildāmo loģisko funkcionalitātes vienību sauc par montāžu. Asamblejas ir izpildāmas saskaņā ar. NET CLR (Common Language Runtime). Fiziski komplekti pastāv kā EXE vai DLL faili. Taču iekšēji tie ļoti atšķiras no Microsoft Win32 DLL. Montāžas fails sastāv no manifesta, metadatiem, MISL (Microsoft Intermediate Language koda) un citiem resursiem. Montāža pati sevi apraksta. Manifestā ir ietverta tāda informācija kā nosaukums, versija, kultūra, spēcīgs nosaukums, failu saraksts, veidi un atkarības. MISL kods tiek izpildīts, izmantojot CLR (to nevar izpildīt tieši).
Kāda ir atšķirība starp Assembly un DLL?
DLL ir dinamiski saistīta bibliotēka. Lai gan komplekti fiziski ir vienādi ar DLL, iekšēji tie ir ļoti atšķirīgi. Nav iespējams saglabāt konsekvenci starp DLL kopu, bet CLR var uzturēt konsekvenci starp komplektu kopu, jo komplekti paši apraksta (tie satur atkarību sarakstu iekšēji). Atšķirībā no DLL, versijas informācija komplektiem tiek ieviesta (CLR). Izmantojot komplektus, ir iespējama vienlaicīga izvietošana (dažādas lietojumprogrammas, izmantojot dažādas versijas).