| Programmering i PHP | ||
|---|---|---|
| Föregående | Nästa | |
När man "kompilerar" ett program så utför man egentligen 3 steg. Ett fjärde steg utförs precis innan programmet laddas för att köras. Dessa steg behandlar vi här.
Stegen är förbehandling av källkoden, kompilering, assemblering och slutligen länkning. Dessa steg behandlas här.
Det första som händer med din källkod är att den går igenom något som kallas en preprocessor. Den tar bort alla kommentarer, som ju i alla fall bara betyder något för människor och formaterar din kod så att den passar kompilatorn.
Sedan är det kompilatorns tur. Det översätter källkoden till ett mellanspråk anpassat för den målmiljö som man kompilerar för. Detta mellanspråk kallas assembler och skall sedan behandlas av en assemblerare.
Assemleraren översätter assemblerkoden till maskinkod. Denna kod är relokerbar, det vill säga den är inte bunden till fasta adresser i minnet. Dessa relokerbara adresser måste dock ändras innan programmet kan köras, det gör laddaren (loader).
Detta är egentligen två steg men de görs nästan alltid tillsammans och de görs varje gång programmet skall köras. De görs oftast av samma rutin. Laddning innebär att programmet flyttas till ett ställe i minnet där det kan köras och se till att adresserna i programmet anpassas efter det ställe det skall köras. Länkaren behöver bara jobba om det körbara programmet behöver delar från flera olika filer, så kallade delade bibliotek (shared libraries, dll:er). Länkaren ser då till att hänvisningarna till dessa i programmet blir riktiga och kontrollerar att de finns tillgängliga.
Om du är intresserad kan du läsa denna länk http://techpubs.sgi.com/library/dynaweb_docs/0620/SGI_Developer/books/Pascal_PG/sgi_html/ch02.html där kompileringen i Pascal beskrivs mer ingående.
| Föregående | Hem | Nästa |
| Programmeringsspråk | Hallå Världen! |