Skip to main content

Hvad er inline -samling?

Inline Assembly Mdash;Også kaldet inline samlingssprog eller inline samler mdash;er en blok af monteringssprogskode, der indsættes direkte i funktioner og kildekode til et andet sprog.Dette gør det muligt for en programmør at indsætte en blok af rent samlingssprog i et program, hvor resten af programmet bruger et ikke-samlivssprog.Evnen understøttes under nogle sprog mdash;såsom C, C ++ og Pascal Mdash;Men er et træk ved den anvendte specifikke kompilator og er ikke nødvendigvis en del af sprogstandarden.I mange tilfælde bruges inline-samling til at få adgang til specielle funktioner i Central Processing Unit (CPU), til at optimere kode eller til at udføre operationer på lavt niveau, såsom hukommelsesblæsning.Selvom et bestemt kompilator- eller programmeringssprog muligvis har støtte til at oprette tværplatformudøvelser, begrænser brugen af inline-samling normalt programmet til systemer, der kan anvende de specifikke samlingsinstruktioner eller have matchende arkitektur.

Der er flere måder, hvorpå et sprogeller kompilator tillader inline -samling at blive inkluderet i en standard kildekodefil.En af de nemmeste metoder er simpelthen ved at definere starten af en samlingsblok, hvorefter alle kommandoer fortolkes som direkte samling.Nogle integrerede udviklingsmiljøer (IDE'er) og kompilatorer tillader faktisk inline -koden at bruge variabler, der er defineret i programmet eller funktionen uden eksplicit at indlæse dem i registre først.En dedikeret monteringsproglig funktion.I dette tilfælde kan den inline-kode normalt ikke kombineres med ikke-samlingskode, såsom en kontrolsløjfe eller returnekning.Når den implementeres på denne måde, skal inline -funktionen normalt også eksplicit skubbe og popvariabler på og uden for stakken for at bruge lokale variabler eller beståsværdier uden for funktionen.

En af de mest almindelige anvendelser til inline -samlingskode er at finde optimering tilSmå segmenter af et program.Afhængig af hvordan inline-koden er integreret, kan dette betyde at bruge mere menneskelige læsbare sprogkommandoer indpakket omkring inline-kode, der direkte udfører nogle handlinger meget hurtigt og effektivt.Hvis målsystemet er kendt, kan koden også bruge hardwarespecifikke registre og kommandoer, der kan få programmet til at udføre meget hurtigere.

Inline-samling kan bruges til at få adgang til dele af operativsystemet, CPU eller endda hardwareporte direkte, nårAndre metoder kan mislykkes eller forårsage en systemfejl.Dette kan bruges til hurtigt at ændre rammer på et grafikkort eller til at sende signaler direkte til en bestemt afbrydelse eller hardwareport.En af farerne ved at bruge samlingskoden på denne måde er imidlertid, at små fejl kan være svære at finde eller få programmet til at gå uventet ned på visse systemer.