Hur du kommer igång med Eclipse och AVR (12 / 15 steg)
Steg 12: Kompileringsfel
Kompileringsfel är fel som kompilatorn har upptäckt under en bygga. En bygga är processen att ta all skriftlig kod och omvandla (dvs sammanställa) att en enda binär fil som AVR kan förstå. Kompileringsfel uppdateras bara när du klickar på skapa och så efter fastställande av problem är det lämpligt att spara och återskapa projektet (om du inte eclipse blir förvirrad).
Varför får jag dem?
Normalt är bygga felen grundläggande programmering fel, till exempel titta på följande kodfragmentet;
IF(1))
{
}
Märker hur if har två avslutande parentes men bara en inledande hakparentes? Detta skulle resultera i ett kompileringsfel. Detta är eftersom syntaxen är fel, skulle fastställande detta exempel bara behöver ta bort en av de två avslutande runda fästen. När fast spara och återskapa projektet - bör understrykningen vara borta. Om felet fanns i ett program som du försöker bygga, skulle den första raden if(1)) betonas i rött. Detta anger att det finns ett fel på raden anges. För att få se mer detaljerade meddelanden för fliken fel nära botten av sidan.
På fliken fel kommer du se att det finns ett antal kolumner som talar om information om varje fel rad för rad. Om du dubbelklicka på ett fel i det här fönstret Eclipse automatiskt öppna filen i fråga och belysa problem linjen.
Hur fixar jag dem?
Normalt fel att kompilatorn fynd är syntax med - detta innebär att åtgärda felen är en relativt lätt sak; Helt enkelt träna vilken syntax artikel du har syndat och fixa det. Om du är osäker av lösningen posta ditt problem i ett forum, antingen på instructables eller en dedikerad C programmering forum. Använd inte kommentarerna i denna sida för att hitta hjälp för programmering problem.
För bra platser se avsnittet länkar.
Finns det andra typer av fel?
Ja... Om programmet du har kodat uppför sig oväntat medan den är igång sedan lider det av vad som kallas en "runtime error" - ett fel som uppstår medan programmet körs. Dessa typer av fel är ofta mycket svårare att diagnostisera, det finns avancerade verktyg för att lösa denna typ fel, men användningen av sådana verktyg är utanför omfånget för detta instructable.