Dot Net komponent: CLR ja Com – Decom

By | september 25, 2022

Dot Netil on oluline komponent, milleks on CLR. Ei, minu arvates ei ole see komponent, ma arvan, et see pakub rakendusele käituskeskkonna infrastruktuuri. Teeme sellest veidi ülevaate.

Kõigepealt vajame lähtekoodi, mida CLS vajab. See peab olema CLS-i kaebuste keeltes. Nüüd on järgmine samm, et CLS kompileerib lähtekoodi, et genereerida vahekood (MSIL) ja metaandmed.

MSIL (Microsoft Intermediate Language) sisaldab mõningaid juhiseid, mis on seotud protsessoriga, nagu ka kuidas laadida, salvestada, lähtestada ja kutsuda meetodeid objektidel. MSIL-is on olemas ka käsud, nagu aritmeetiliste ja loogiliste toimingute sooritamine, otsejuurdepääs mälule, täitmise voog, käepideme erand. Kuna enne MSIL-i käivitamist vajame protsessoripõhiseid juhiseid. Ja koodi käivitamiseks vajab käitusaeg teavet metaandmetes oleva koodi kohta.

Metaandmed sisaldavad tüüpe ja viiteid teistele tüüpidele, mis on meie rakenduste jaoks kasulikud.

Mõlemad failid asuvad PE-failis (portable Executable File). PE-faili käivitamisel laadib klassilaadur PE-failist käitusmällu MSIL-koodi ja metaandmed. Nüüd töötab koodihalduri jaoks, kuna see kutsub esile sisenemispunkti meetodit. See on üks neist kolmest.

. Peamine

. WinMain

. DLLMain

Sisenemispunkt on esimene meetod, mis tuleb esimesena käivitada. Kui sisestuspunkt on täitmispunkt, aitab haldab kood objektil see mällu paigutada ja kontrollib täitmist programmis. Nüüd teostab prügikorjaja hunnikule perioodilisi kontrolle objekti tuvastamiseks, tüübikontroll teostab tüüpide kontrolli. Tüübikontrolli tõstetõrge, kui seda esineb. CLR juhib koodi käitusajal. Nüüd teostab turvamootor piirangurakendust. Nüüd Managing Multithreading, Kuidas Marshalls seal rolle täidab. Nüüd täidab JIT kompileerib seal rolli ja teisendab kõik omakoodiks.

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga