Hva er en forprosessor?

Vanligvis, når noen refererer til en prosessor i databehandling, mener de en slags silisiumbrikke som utfører beregninger. P i CPU, GPU, APU, NPU og mange andre former for logikkbrikker, står for "Processing", dvs. Central Processing Unit. Hver av dem er en bestemt type prosessor, optimalisert for dens spesifikke funksjon. En forprosessor har imidlertid ikke noe med fysiske prosessorer som CPU eller GPU å gjøre. I stedet er det et programmeringsbegrep, spesifikt knyttet til kompilerte språk.

Hva er en kompilator?

En kompilator er et stykke programvare som kompilerer et spesifikt programmeringsspråk til maskinkode. Alle programmeringsspråk må konverteres til maskinkode, ettersom de menneskelesbare instruksjonene som utgjør brukbare programmeringsspråk ikke er direkte kjørbare av datamaskinen. Noen er designet for å bli tolket på farten når koden kjøres. Denne tilnærmingen er veldig fleksibel, noe som gjør det enkelt å gjøre mindre endringer. Mange andre programmeringsspråk må imidlertid kompileres for å kunne utføres. I små programmer tar ikke dette nødvendigvis lang tid. Med større programmer kan kompilering imidlertid ta minutter eller til og med timer.

Så hvorfor vil du bruke et språk som trenger kompilering? Vel, det er vanskeligere å reversere. Tolkede programmeringsspråk har ofte sin kode distribuert som den er, noe som gjør det enkelt å "stjele". For selskaper som ønsker å beskytte sin intellektuelle eiendom, setter kompilering inn et komplekst og upålitelig trinn med omvendt utvikling for å se den faktiske koden. Kompilert programvare har også en tendens til å være mindre, siden den er optimalisert for utførelse. Dette er egentlig ikke et problem med små skript, men når du har å gjøre med stor programvare, hundrevis av megabyte, eller til og med gigabyte i størrelse, kan dette ha en merkbar effekt.

Så hva gjør en forprosessor?

En forprosessor er et verktøy som kjøres over kode før den kompileres. Vanligvis vil en kompilator automatisk kalle opp forprosessoren når den starter, men de kan også kjøres separat. Forbehandlerens jobb er å sette opp koden nøyaktig slik den er beregnet. Det gjør den først og fremst ved å utføre søke- og erstatningsfunksjoner.

I C er det for eksempel standard praksis å bruke en rekke standardbiblioteker. Disse bibliotekene definerer en rekke funksjoner som gir standard funksjonalitet. For å importere disse bibliotekene brukes nøkkelordet "#include" etterfulgt av et biblioteknavn. Forbehandleren søker gjennom koden etter setninger som "#include" og erstatter dem. I tilfellet "#include" setter forprosessoren inn hele innholdet i det spesifiserte biblioteket.

Dette lar deg holde den faktisk skrevne koden lett lesbar samtidig som du bruker mange kraftige og eksisterende verktøy. Det sparer deg for å måtte finne opp hjulet på nytt for hver applikasjon eller å lime inn noe eller hele biblioteket i kodebasen.

En annen potensiell bruk av en forprosessor er å fjerne eller legge til viss funksjonalitet avhengig av intensjonen med bygget. For eksempel, hvis du ønsker å teste en ny konstruksjon, kan det være veldig nyttig å inkludere en haug med feilsøkingstrinn. Ikke bare er disse ikke nødvendig i utgivelsesbygg, men de gjør faktisk den kompilerte programvaren større. En forprosessor kan sjekke kompilatorargumenter og avgjøre om viss funksjonalitet må inkluderes eller ignoreres. I likhet med dette vil en forprosessor vanligvis fjerne kommentarer før kompilatoren, da disse ikke skal inkluderes i en build.

Konklusjon

En forprosessor er et verktøy som kjøres av en kompilator for å manipulere koden før den faktisk blir kompilert. Mens forprosessoren kan kalles separat, kalles den vanligvis som en del av kompileringsprosessen. Forprosessoren ser etter visse definerte strenger og erstatter dem med standardinnhold. For kommentarer er det ingen erstatning, men for uttalelser som inkluderer eksterne bibliotek, erstatter forbehandler uttalelsen med innholdet i det faktiske biblioteket. Forprosessoren kan også ta kompileringstidsargumenter for å gate viss funksjonalitet. Dette brukes ofte for å inkludere eller ekskludere feilsøkingsfunksjonalitet fra test- eller utgivelsesbygg.


Leave a Comment

Slik installerer du en SSD på stasjonære og bærbare PC-er

Slik installerer du en SSD på stasjonære og bærbare PC-er

Har du nettopp kjøpt en SSD og håper å oppgradere den interne lagringen på PC-en din, men vet ikke hvordan du installerer SSD? Les denne artikkelen nå!

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Å holde utstyret ditt i god stand er et must. Her er noen nyttige tips for å holde 3D-printeren din i topp stand.

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

Enten du leter etter en NAS for hjemmet eller kontoret, sjekk ut denne listen over de beste NAS-lagringsenhetene.

Hvordan finne IP-adressen til en skriver

Hvordan finne IP-adressen til en skriver

Har du problemer med å finne ut hvilken IP-adresse skrivere bruker? Vi viser deg hvordan du finner den.

5 Grunner til at Laptopen Din Overopphetes

5 Grunner til at Laptopen Din Overopphetes

Finn ut noen av de mulige årsakene til at laptopen din overopphetes, sammen med tips og triks for å unngå dette problemet og holde enheten din avkjølt.

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hvis Powerbeats Pro ikke lader, bruk en annen strømkilde og rengjør øreproppene. La saken være åpen mens du lader øreproppene.

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Å vedlikeholde 3D-printerne dine er veldig viktig for å få de beste resultatene. Her er noen viktige tips å huske på.

Slik fikser du GeForce Now feilkode 0xC272008F

Slik fikser du GeForce Now feilkode 0xC272008F

Du gjør deg klar for en kveld med spilling, og det kommer til å bli stort – du har nettopp kjøpt "Star Wars Outlaws" på GeForce Now streamingtjenesten. Oppdag den eneste kjente løsningen som viser deg hvordan du fikser GeForce Now feilkode 0xC272008F, slik at du kan begynne å spille Ubisoft-spill igjen.

Slik bruker du AirPods med Samsung-telefoner

Slik bruker du AirPods med Samsung-telefoner

Er du usikker på om du skal kjøpe AirPods til din Samsung-telefon? Denne guiden vil helt klart hjelpe. Det mest åpenbare spørsmålet er om de to er

Canon Pixma MG5220: Skann uten blekk

Canon Pixma MG5220: Skann uten blekk

Hvordan aktivere skanning på Canon Pixma MG5220 når du går tom for blekk.