Kildekoden en computer programmør skriver i CPP eller C + +, er ikke, hvad en computer læser for at udføre dette program. Snarere , hvad computeren læser er produktet af hvad der sker efter programmøren kører denne kildekode gennem en compiler . Der er et par ting om C + + compilere håbefulde programmører kan ikke vide . Machine Code
Sikke en C + + compiler producerer fra C + + syntaks kaldes maskinkode . Disse er trin-for- trin instruktioner til en computers centralenhed følge for at udføre programmet . Disse instruktioner vil omfatte de mindste detaljer , såsom lagring specifikke bytes af data i bestemte hukommelses adresse placeringer. Mens det er en langsommelig proces , kan patientens dataloger rekonstruere et programs kildekode fra at se på menneske-læsbart gengivelse af maskinkode , kaldet forsamling.
Ikke en IDE
en compiler er ikke et integreret udviklingsmiljø (IDE) . En compiler konverterer C + + kildekode til maskinkode . IDEs give udviklere med et sæt af værktøjer og grænseflader , som tillader dem at kode komplekse programmer mere effektivt. IDE'er vil ofte komme med en compiler, som det vil indgå kildekoden en programmør skaber i IDE , men IDE og compiler er to separate enheder .
Syntaks Afhængige < br >
Når du samler et C + + program, vil compileren rapportere en fejl og undlader at kompilere kildekoden til en eksekverbar fil, hvis der er en syntaktisk fejl i koden. Dette kunne ske i form af en manglende semikolon i slutningen af en linje , ved hjælp af en variabel, programmøren ikke erklære eller en stavefejl på en kommando. Dog vil der kun syntaktiske fejl stoppe en compiler fra kompilere koden . Koden kan indeholde logiske fejl, såsom uendelige løkker , eller hukommelse ledelsesmæssige spørgsmål , der kunne crashe computer, der udfører koden. Det er spørgsmål, programmører nødt til at finde sig selv i test.
Platform specifik kode
Som standard vil compilere generere generiske maskine kode . Dette kan fungere i den almindelige arkitektur , som koden kompilering, såsom en x86 processor. Men forskellige processorer har små forskelle i den måde, de fungerer . Hvis compiler kender oplysninger om hardware , som det er kompilering, kan det generere specialiserede maskine kode for at arbejde mest effektivt på målarkitektur . Selv om sådanne specialiserede samlinger kan skabe problemer for eksekverbare filer, som bygherren har til hensigt for masse distribution, kan de være nyttige , hvis nogen er bare kompilere nogle C + + kode til eget brug .