Hva er den vanlige språkinfrastrukturen?

Den vanlige språkinfrastrukturen (CLI) er et sett med internasjonale tekniske standarder som fremmer interoperabilitet for dataprogrammeringsspråk. CLI lar også mange høyt nivå språk utvikle applikasjoner som er uavhengige av plattformer og arkitekturer. Det er mer enn 30 programmeringsspråk gruppert for dette formålet og benytter seg av fire avdelinger av vanlige språkprogrammeringsspesifikasjoner for å bli CLI-kompatible.

Å benytte seg av det som kalles et vanlig typesystem (CTS), ved å bruke et sett med datatyper og operasjoner og metadatainformasjon om programmeringsstrukturer gjør det mulig å skrive tverrspråklige koder. CLI kompilerer språk til et felles mellomspråk (CIL), og fra CIL formidler applikasjonsaspektene til samlingsmaskinens språk, som adresserer maskinvaren. I tillegg er det vanlige språkspesifikasjoner (CLS), som er en basisregler som er satt for bruk av alle språk som søker interoperasjon, og et virtuelt utførelsessystem (VES) for lasting, utførelse og generering av kjørekoder for alle CLI-kompatible programmer .

De fleste CLI-kompatible språk kompileres direkte til CIL ved bruk av vanlige språk-runtime (CLR). Etter å ha blitt kompilert og hurtigbufret tildeler en just-in-time kompilator deretter maskinkode fra den eksisterende arkitekturen. Montering maskinkoden konstruksjon kan også konstrueres foran CLR med en på forhånd kompilator.

For at CLI-kompatible språk skal kunne dra nytte av objektspesifisitet, spesifiserer felles språkinfrastruktur at objekter bare trenger å eksponere funksjonene de har til felles med de andre CLI-kompatible språkene når de blir kalt. Kodekomponenter utviklet for å bruke bare datatyper som er akseptert i CTS, sies å være CLI-kompatible og tilgjengelige for alle andre CLI-kompatible språk. I tillegg er enhver konstruksjon av et språk som ikke kan verifiseres raskt av typen sikkerhet i koden ekskludert fra CLS, slik at bare verifiserbare koder kan sies å være CLS-kompatible.

Noen programmeringsfunksjoner er felles for både kompilatorer og utviklere, og andre er bare tilgjengelige for kompilatorer. Listen er lang og full av nyttige funksjoner. En funksjon som bare er tilgjengelig for kompilatorer, er: nøkkelord som gir referanseidentifikatorer og som kan overstyre virtuelle metoder med navn som er nøkkelord. En funksjon tilgjengelig for både kompilatorer og utviklere inkluderer: modifiseringsfunksjoner som sier at en egenskap så vel som dens vurderere må være "statiske", alle må være "virtuelle", må alle være "instans."

Implementeringsprogrammer er for stasjonære maskiner, servere, mobile enheter og spillkonsoller. Programmer for forbedring av datasyn og verktøysett for virtuelle maskinutstyr på lavt nivå er også utviklet fra språk som er kompatible med språklig infrastruktur. Den vanlige språkinfrastrukturen fordeler systemressurser og ringer perifere enheter effektivt, selv om de er plattformuavhengige.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?