Huis Ontwikkeling Wat is een intermediaire taal (il)? - definitie van techopedia

Wat is een intermediaire taal (il)? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Intermediate Language (IL)?

Intermediate language (IL) is een objectgeoriënteerde programmeertaal die is ontworpen om te worden gebruikt door compilers voor .NET Framework vóór statische of dynamische compilatie naar machinecode. De IL wordt door het .NET Framework gebruikt om machine-onafhankelijke code te genereren als de uitvoer van de compilatie van de broncode die in een willekeurige .NET-programmeertaal is geschreven.


IL is een op stapel gebaseerde assembleertaal die tijdens de uitvoering van een virtuele machine wordt geconverteerd naar bytecode. Het wordt gedefinieerd door de Common Language Infrastructure (CLI) -specificatie. Aangezien IL wordt gebruikt voor het automatisch genereren van gecompileerde code, hoeft de syntaxis niet te worden geleerd.


Deze term staat ook bekend als Microsoft tussentaal (MSIL) of gemeenschappelijke tussentaal (CIL).

Techopedia verklaart Intermediate Language (IL)

Met behulp van een geschikte just-in-time (JIT) compiler kan IL-code worden uitgevoerd op elke computerarchitectuur die wordt ondersteund door de JIT-compiler. In tegenstelling tot tolken, biedt JIT-compilatie betere prestaties, behoudt het geheugen en bespaart het tijd tijdens de initialisatie van de toepassing. IL maakt de platform- en CPU-onafhankelijkheidsfunctie van het .NET-framework mogelijk, doordat gecompileerde broncode kan worden uitgevoerd in elke omgeving die de CLI-specificatie ondersteunt.


Verificatie van codeveiligheid voor IL-code biedt betere beveiliging en betrouwbaarheid dan native gecompileerde uitvoerbare bestanden. De metadata, die de MSIL-code in het draagbare uitvoerbare bestand beschrijft, elimineert de behoefte aan typebibliotheken en tussendefinitie taalbestanden zoals werd gebruikt in de Component Object Model (COM) technologie. In combinatie met metadata en een gemeenschappelijk type systeem, vormt IL het middel om modules die in verschillende talen zijn geschreven in één enkele applicatie te integreren, waardoor taalonafhankelijkheid mogelijk wordt.


Hoewel IL vergelijkbaar is met Java bytecode in het gebruik ervan door compilers, verschilt het van het laatste omdat het is ontworpen voor platformonafhankelijkheid en taalonafhankelijkheid. Het verschilt ook doordat het is samengesteld en niet wordt geïnterpreteerd.


Twee soorten instructiesets zijn inbegrepen bij IL; basisinstructies, vergelijkbaar met native CPU-instructies, en objectmodelinstructies die worden gebruikt door de taal op hoog niveau. IL bevat alle instructies die nodig zijn voor het laden, opslaan, initialiseren en aanroepen van objecten op objecten. Het omvat ook rekenkundige en logische bewerkingen, besturingsstroom, directe geheugentoegang, afhandeling van uitzonderingen en andere bewerkingen. In tegenstelling tot de algemene bestandsindeling van objecten die wordt gebruikt voor uitvoerbare inhoud in het traditionele draagbare Microsoft-uitvoerbare bestand, bevat het gegenereerde draagbare uitvoerbare bestand na de compilatie van beheerde code zowel IL-instructies als metagegevens.


De twee tools die aan IL-code zijn gekoppeld, zijn de MSIL Assembler (Ilasm.exe) en de MSIL Disassemble (Ildasm.exe). De eerste genereert een draagbaar uitvoerbaar bestand van IL-code en maakt het mogelijk de IL-code in een voor mensen leesbaar formaat te bekijken, terwijl de laatste een draagbaar uitvoerbaar bestand terug converteert naar een tekstbestand, voor weergave en aanpassing. Beide worden automatisch geïnstalleerd als onderdeel van Visual Studio.

Deze definitie is geschreven in de context van .NET
Wat is een intermediaire taal (il)? - definitie van techopedia