Buggfix Plus
Aktuellt datum och tid: 19.53 2018-08-17

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 48 inlägg ]  Gå till sida Föregående  1, 2, 3, 4
Författare Meddelande
InläggPostat: 19.34 2018-04-23 
Användarvisningsbild

Blev medlem: 07.13 2008-07-03
Inlägg: 12741
Ort: Norrköping
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:


Upp
 Profil  
 
InläggPostat: 22.23 2018-04-23 
EF Sponsor
Användarvisningsbild

Blev medlem: 15.29 2005-05-10
Inlägg: 36664
Ort: Söderköping
> 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.


Upp
 Profil  
 
InläggPostat: 15.05 2018-04-24 

Blev medlem: 07.14 2007-04-11
Inlägg: 3490
Ort: En_stad
Okej.


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 48 inlägg ]  Gå till sida Föregående  1, 2, 3, 4

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
   
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010