Hur ska man strukturera ett projekt? (arduino, C)

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hur ska man strukturera ett projekt? (arduino, C)

Inlägg av lillahuset »

Hehe, se där. Inte varje dag man lär sig något nytt men det här var snudd på komiskt. :D

En kompis hade en bugg han ägnade en dag eller två åt utan att förstå problemet så han skickade koden till mig och bad om hjälp.
Felet var att det hade smygit sig in ett komma (,) på ett ställe där man inte hade förväntat sig att det skulle vara en giltig operator.
Jag minns inte detaljerna nu men om man lusläste K&R "ANSI C" om just det han av misstag skrivit insåg man att det var felet. Både han och jag var förbluffade över att det var giltig syntax.
Det finns rätt många gråzoner i ANSI C som gudskelov blir färre för varje standard, eller kanske inte. :humm:
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43147
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Hur ska man strukturera ett projekt? (arduino, C)

Inlägg av sodjan »

> Om nu funktionerna kan hittas i o-filerna,
> varför kan man inte ha deklarationerna i h-filerna
> i c-filerna i stället? Kompilatorn eller länkaren
> kan ju ändå se dom?

Ta fallet med main.c och battery.c...

Det normala är att koden i battery.c aldrig kompileras om förutom
om det ändras något i just battery.c (eller i någon fil som battery.c
är beroende av eller som inkluderas i battery.c).

Det finns inte heller någon som kräver att battery.c ska kompileras
om bara för att man har ändrat något i main.c.

Alltså så har kompilatorn ingen aning om vad som finns i battery.c
(inte heller att battery.c över huvud taget existerar!) då main.c kompileras.

Ja, *länkaren* skulle kunna se dom i .o filerna, men då är det för sent,
kompilatorn kan/kunde inte kolla att anropen är korrekta från main.c.
Det enda kompilatorn vet är att det någonstans kommer att finnas några
funktioner som kan anropas och dessa är deklarerade i en .h fil.
BJ
Inlägg: 8185
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Hur ska man strukturera ett projekt? (arduino, C)

Inlägg av BJ »

Okej.
Skriv svar