Kildekoden en datamaskin programmerer skriver i CPP , eller C + + , er ikke hva en datamaskin leser for å gjennomføre det programmet. Snarere hva maskinen leser er et produkt av hva som skjer etter programmereren går at kildekoden gjennom en kompilator . Det er et par ting om C + + kompilatorer håpefulle programmerere ikke kan vite . Machine Code
Hva en C + + kompilatoren produserer fra C + + syntaks kalles maskinkode . Dette er trinn-for- trinn-instruksjoner for en datamaskin sentrale processing unit følge for å kjøre programmet . Disse instruksjonene vil omfatte de minste detaljer , for eksempel lagre spesifikke byte med data i bestemte minneadresser steder . Mens det er en omstendelig prosess , kan pasienten dataforskere rekonstruere et programmets kildekode fra å se på lesbar gjengivelse av maskinkode , kalt forsamlingen .
Ikke en IDE
< p > en kompilatoren er ikke et integrert utviklingsmiljø ( IDE ) . En kompilator konverterer C + + kildekoden til maskinkode . IDE gi utviklere med et sett av verktøy og grensesnitt som tillater dem å kode komplekse programmer mer effektivt. IDE vil ofte komme med en kompilator , som den vil mate kildekoden en programmerer skaper i IDE , men IDE og kompilatoren er to separate enheter.
Syntax Avhengig
Når du kompilerer et C + + -programmet , vil kompilatoren rapportere en feil og ikke klarer å kompilere kildekoden til en kjørbar fil hvis det er en syntaktisk feil i koden. Dette kan ta form av en manglende semikolon ved enden av en linje , ved hjelp av en variabel som programmereren ikke oppga , eller en skrivefeil på en kommando. Imidlertid vil bare syntaktiske feil stoppe en kompilator fra kompilere koden . Koden kan inneholde logiske feil, for eksempel uendelige løkker , eller minne administrative spørsmål som kan krasje datamaskinen som utfører koden . Dette er spørsmål som programmerere må finne seg selv i testing.
Plattform spesifikk kode
Som standard vil kompilatorer generere generisk maskinkode . Dette vil fungere for den generelle arkitektur for der koden er kompilering, slik som en x86 prosessor . Men forskjellige prosessorer har små forskjeller i måten de fungerer . Dersom kompilatoren vet informasjon om maskinvaren som den er kompilering , frambringe spesialisert maskin -kode for å arbeide mest mulig effektivt på målet arkitektur. Mens slike spesialiserte samleplater kan skape problemer for kjørbare filer som utvikleren har til hensikt for massedistribusjon , kan de være nyttig hvis noen er bare kompilere noen C + +-kode for eget bruk.