Skip to main content

Vad är ett sammanställningsfel?

Ett sammanställningsfel är ett fel i att bygga en maskinkodfil för ett datorspråk.Många datorspråk sammanställer sin källkod i maskinkodfiler innan program kan byggas eller köras.Den vanligaste typen av sammanställningsfel är ett grundläggande syntaxfel;Ett litet misstag kan orsaka många problem med koden.

De vanligaste objektorienterade programmeringsspråken, C ++ och Java , använd sammanställning i någon form.Detta skiljer sig väsentligt från tolkade språk, som använder rå källkoden vid körning för att utföra ett program.Ett språk behöver inte vara i sig objektorienterat för att vara kompilerbart;C ++, till exempel, kan struktureras med objektorienterad eller procedurprogrammering.

Den vanligaste orsaken till sammanställningsfel är ett syntaxfel.Syntaxfel är fel i form av rå källkoden, vanligtvis orsakad av en viss kränkning av datorspråkets principer.Dessa fel kan vara så enkla som att glömma en semikolon i slutet av en kodrad, eller så komplex som initialisering av en matris felaktigt.Vanligtvis är det inte extremt svårt att hitta och diagnostisera dessa fel;De flesta kompilatorer visar felen när de stöter på och tillåter inte bildning av maskinkod förrän felen är fixerade.Olika språk använder emellertid olika kompilatorer, så det är möjligt att en viss typ av sammanställningsfel kan finnas på ett språk, men inte på ett annat.

Beroende på språket och kompilatorn som används kan ett sammanställningsfel dyka upp så många fel.Att till exempel glömma en semikolon i slutet av en linje, när ett språk kräver det, kan orsaka att analysera fel eftersom kompilatorn inte vet när en viss linje ska ta slut.Detta analysfel kan manifestera sig som många sammanställningsfel, vilket gör att det verkar som om det plötsligt finns fruktansvärda problem med koden istället för en liten skrivfel.I allmänhet kan noggrann uppmärksamhet på att följa reglerna för ett datorspråk förhindra dessa typer av fel.På samma sätt, om ett plötsligt angrepp av sammanställningsfel dyker upp, kan den erfarna programmeraren vanligtvis dra slutsatsen att ett enda litet misstag orsakade de flesta av dem.

En vanlig missuppfattning av nybörjare är att ett sammanställningsfel kommer att krascha en dator, och dettaär aldrig fallet.Sammanställningsfel är begränsade till kompilatorer, och skapandet av maskinkod orsakar sällan problem för ett helt datorsystem.Inget program är idiotsäkert, inklusive en kompilator, men chansen att orsaka problem med en hel dator bara genom att sammanställa kod eller möta ett sammanställningsfel är extremt litet.När alla sammanställningsfel är fixade är chansen bra att ett program kommer att fungera smidigt, som det var tänkt att.