Skip to main content

Hva er inline montering?

Inline Assembly Mdash;også kalt inline monteringsspråk eller inline samler mdash;er en blokk med monteringsspråkkode som settes direkte inn i funksjoner og kildekode for et annet språk.Dette gjør at en programmerer kan sette inn en blokk med rent monteringsspråk i et program der resten av programmet bruker et ikke-samsvarsspråk.Evnen støttes under noen språk og mdash;som C, C ++ og Pascal Mdash;men er et trekk ved den spesifikke kompilatoren som brukes og er ikke nødvendigvis en del av språkstandarden.I mange tilfeller brukes inline-montering for å få tilgang til spesielle funksjoner i den sentrale prosesseringsenheten (CPU), for å optimalisere kode eller for å utføre operasjoner på veldig lavt nivå som minnebliting.Selv om en viss kompilator eller programmeringsspråk kan ha støtte for å lage kjørbare filer på tvers av plattformer, begrenser bruken av inline-montering normalt programmet til systemer som kan bruke de spesifikke monteringsinstruksjonene eller ha matchende arkitektur.

Det er flere måter et språk der et språkeller kompilator gjør at inline -monteringen kan inkluderes i en standard kildekodefil.En av de enkleste metodene er ganske enkelt ved å definere starten på en monteringsblokk, hvoretter alle kommandoer tolkes som direkte montering.Noen integrerte utviklingsmiljøer (IDE) og kompilatorer lar faktisk inline -koden bruke variabler definert i programmet eller funksjonen uten eksplisitt å laste dem inn i registre først.

En annen måte som inline montering er definert i en kildefil er gjennom bruk avEn dedikert funksjonsspråklig funksjon.I dette tilfellet kan inline-koden vanligvis ikke kombineres med ikke-samsvarskode, for eksempel en kontrollsløyfe eller returerklæring.Når den er implementert på denne måten, må inline -funksjonen vanligvis også eksplisitt skyve og popvariabler på og av stabelen for å bruke lokale variabler eller passere verdier utenfor funksjonen.

En av de vanligste bruksområdene for inline monteringskode er pinpoint -optimalisering forSmå segmenter av et program.Avhengig av hvordan inline-koden er integrert, kan dette bety å bruke mer menneskelig lesbare språkkommandoer pakket rundt inline kode som direkte utfører noen handlinger veldig raskt og effektivt.I tillegg, hvis målsystemet er kjent, kan koden bruke maskinvarespesifikke registre og kommandoer som kan gjøre programmet til å utføre mye raskere.

Inline-montering kan brukes til å få tilgang til deler av operativsystemet, CPU eller til og med maskinvareporter direkte nårAndre metoder kan mislykkes eller forårsake en systemfeil.Dette kan brukes til raskt å endre rammer på et grafikkort eller for å sende signaler direkte til en bestemt avbrudds- eller maskinvareport.En av farene ved å bruke monteringskoden på denne måten er imidlertid at små feil kan være vanskelig å finne eller få programmet til å krasje uventet på visse systemer.