Ero Kokoonpanon Ja DLL: N Välillä

Ero Kokoonpanon Ja DLL: N Välillä
Ero Kokoonpanon Ja DLL: N Välillä

Video: Ero Kokoonpanon Ja DLL: N Välillä

Video: Ero Kokoonpanon Ja DLL: N Välillä
Video: #341 | Toro Ko Ko- music rhythmic gymnastics 2024, Marraskuu
Anonim

Assembly vs DLL

Kirjasto on kokoelma resursseja, joita voidaan käyttää sovellusten kehittämiseen. Kirjasto koostuu yleensä aliohjelmista, funktioista, luokista, arvoista ja tyypeistä. Yhdistämisprosessin aikana (yleensä linkkerin tekemä) kirjastot ja suoritettavat tiedostot viittaavat toisiinsa. DLL-tiedostot ovat kirjastotiedostoja, jotka on linkitetty dynaamisesti. DLL on kehittänyt Microsoft. Mutta DLL-tiedostoissa esiintyvien ongelmien takia Microsoft keksi Assembly-tiedostomuodon (. NET-kehyksen kanssa). Kokoonpanotiedostot ovat fyysisesti hyvin samanlaisia kuin DLL-tiedostot, mutta niillä on monia sisäisiä eroja.

Mikä on DLL?

Dynaaminen linkkikirjasto (tunnetaan paremmin nimellä DLL) on Microsoftin kehittämä jaetun kirjaston toteutus. Se käyttää.dll-,.ocx- tai.drv-laajennuksia ja niitä käytetään Microsoft Windows- ja OS / 2-käyttöjärjestelmissä..dll-tiedostoa käyttävät tavalliset DLL-tiedostot. ActiveX-komponentteja sisältävät kirjastot käyttävät.ocx-laajennusta ja vanhat järjestelmäohjaintiedostot käyttävät.drv-laajennusta. DLL-tiedostomuoto on sama kuin Windows EXE -tiedostot (kannettavat suoritettavat tiedostot 32-bittisessä / 64-bittisessä Windowsissa ja uudet suoritettavat tiedostot 16-bittisessä Windowsissa). Siksi mikä tahansa yhdistelmä koodia, tietoja ja resursseja voi sisältyä DLL-tiedostoihin (aivan kuten EXE-tiedostoissa). Itse asiassa DLL-tiedostomuodossa olevia tiedostoja kutsutaan resurssien DLL-tiedostoiksi. Kuvakekirjastot (.icl-laajennuksella) ja kirjasintiedostot (.fon- ja.fot-laajennuksilla) ovat esimerkkejä resurssien DLL-tiedostoista.

Osiksi kutsutut komponentit muodostavat DLL: n ja jokaisella osalla on omat määritteensä, kuten vain luku / kirjoitettava ja suoritettava / ei suoritettava. Koodiosat ovat suoritettavia, kun taas tieto-osia ei voida suorittaa. Koodiosat ovat jaettuja ja dataosastot ovat yksityisiä. Tämä tarkoittaa, että kaikki DLL-tiedostoja käyttävät prosessit käyttävät samaa kopiota koodista, kun taas jokaisella prosessilla on oma kopio tiedoista. Windowsin ensisijainen dynaaminen kirjasto on kernel32.dll, joka sisältää Windowsin perustoiminnot (tiedostoihin ja muistiin liittyvät toiminnot). COM (Component Object Model) on DLL: n laajennus OOP: ksi (Object Oriented Programming). Tavanomaisia DLL-tiedostoja on helpompi käyttää kuin COM-tiedostoja.

Mikä on yleiskokous?

Microsoft esitteli kokoonpanotiedostot useiden DLL-tiedostoihin liittyvien ongelmien ratkaisemiseksi. Kokoonpanotiedostot otettiin käyttöön Microsoft. NET-kehyksen kanssa. Suoritettavaa loogista yksikköä kutsutaan kokoonpanoksi. Kokoonpanot voidaan suorittaa. NET CLR (Common Language Runtime) -palvelussa. Fyysisesti kokoonpanot ovat EXE- tai DLL-tiedostoina. Mutta ne ovat hyvin erilaisia kuin Microsoft Win32 DLL, sisäisesti. Kokoonpanotiedosto koostuu luettelosta, metatiedoista, MISL: stä (Microsoft Intermediate Language code) ja muista lähteistä. Kokoonpano on itse kuvaava. Luettelo sisältää tietoja, kuten nimen, version, kulttuurin, vahvan nimen, tiedostoluettelon, tyypit ja riippuvuudet. MISL-koodi suoritetaan CLR: n kautta (sitä ei voida suorittaa suoraan).

Mikä on ero kokoonpanon ja DLL: n välillä?

DLL on dynaamisesti linkitetty kirjasto. Vaikka kokoonpanot ovat fyysisesti samat kuin DLL: t, ne ovat sisäisesti hyvin erilaisia. Ei ole mahdollista ylläpitää johdonmukaisuutta DLL-ryhmien välillä, mutta CLR voi ylläpitää johdonmukaisuutta sarjakokoonpanojen välillä, koska kokoonpanot kuvaavat itse (ne sisältävät luettelon riippuvuuksista sisäisesti). Toisin kuin DLL-tiedostoissa, versiotiedot pakotetaan kokoonpanoille (CLR: n toimesta). Rinnakkainen käyttöönotto (erilaiset sovellukset, jotka käyttävät eri versioita) on mahdollista kokoonpanojen kanssa.

Suositeltava: