Runtime de limbaj comun

Common Language Runtime (CLR) este numele ales deMicrosoftpentrumașină virtualăcomponenta NET Framework . Aceasta este implementarea de către Microsoft a standardului Common Language Infrastructure (CLI) care defineștemediul pentru executareacodurilor de program. CLR rulează un fel debytecodenumit Common Intermediate Language (CIL) . Compilatorul on-the-fly transformă codul CIL în cod nativ specificsistemului de operare. CLR rulează pesisteme deoperareMicrosoft Windows.

CLR este alcătuit din următoarele patru părți:

Introducere

CLR este să .NET ceea ce este JVM pentru Java , adică o mașină virtuală , fără de care nu ar fi posibilă executarea codului .NET. Spre deosebire de concurentul său, .NET cadru a fost conceput pentru a permite interoperabilitatea între diferite limbi.

Indiferent de limba utilizată pentru a scrie o aplicație .NET, codul trebuie transformat în CIL ( Common Intermediate Language ). Acest cod intermediar nu conține nicio instrucțiune referitoare la hardware (adică hardware ) sau la sistemul de operare. Prin urmare, nu poate fi executat direct. În ciuda acestui fapt, ne-am putea imagina că scriem o aplicație direct în IL, un limbaj care arată ca un asamblator, fără a trece printr-un limbaj de ultimă generație precum C # .

CLR este necesar pentru a rula codul intermediar. Se bazează pe CTS ( Common Type System ) și CLS ( Common Language Specification ). Oferă multe caracteristici, cum ar fi gunoiul în engleză  : Garbage Collector (memoria utilizată de aplicație în timpul execuției este optimizată), BCL ( Biblioteca de clase de bază ) și sistemul de securitate. Odată ce codul este prezent în CLR, acesta va putea fi în cele din urmă compilat de compilatorul JIT ( Just in Time ) în limba maternă a mașinii.

Există trei tipuri de JIT:

Indiferent de tipul JIT, obiectivul este de a accelera executarea codului prin reutilizarea cache-ului cât mai curând posibil. Pentru a vedea acest lucru vizual, este foarte simplu. Trebuie doar să scrieți o aplicație ASP.NET simplă ( Hello World de exemplu). La prima rundă, codul este compilat. Ulterior și atâta timp cât aplicația nu este modificată, cache-ul va fi utilizat, rezultând o viteză de execuție mult mai mare decât în ​​timpul primei execuții.

JIT-ul furnizat de Microsoft produce în mod evident doar cod Windows nativ, dar cu specificațiile disponibile, un grup de oameni au decis să porteze .NET pe Linux , dând naștere platformei open source de dezvoltare Mono .

Lista limbilor acceptate

Limbile acceptate de CLR sunt diferite de cele acceptate de DLR . Bytecode obținut fără a utiliza vechi API-uri Microsoft (MFC, win32) se numește cod gestionat care beneficiază de avantajele platformei .NET (portabilitate, colectare gunoi). Printre altele, CLR se ocupă de:

Vezi și tu

Articole similare

Note și referințe

  1. Sistem tip comun

Link extern