mboost-dp1

hvad er fejlen i 'C' koden?


Gå til bund
Gravatar #51 - Qw_freak
27. maj 2010 21:25
jeg har bare lagt headerfilerne ind i include mappen, fordi de er blevet genereret specifikt til den hardware jeg skal arbejde på!
Gravatar #52 - Qw_freak
27. maj 2010 21:27
en anden ting nu jeg er i gang, hvis jeg skal lave en løkke der kører i 10 sekunder hvordan laver man nemmest det ved brug at time.h?
Gravatar #53 - onetreehell
27. maj 2010 22:02
#qw_freak
Jeg kan anbefale dig at gå ind på ##C-channelen på chat.freenode.org, hvis du har IRC. De er rimelig hjælpsomme (hvis du kan stille dit spørgsmål godt).
Gravatar #54 - JacobN
27. maj 2010 22:06
Du kan se på clock() funktionen og så se på forskellen fra lige før du startede din løkke, til hvad værdien er nu, og om denne forskel er mindre/større end 10 sekunder * CLOCKS_PER_SEC.

Men dette kan være en dårlig ide af flere grunde som skulle være rimelig åbenlyse, både mht. præcision af hvornår loopet stoppes og at programmet ikke kan lave andet imens det arbejder. Det kan selvfølgelig være at disse to ting ikke betyder så meget, og så kan du bare se bort fra denne kommentar.

Hvis 10 sekunder er et krav der skal mødes med nogen form for præcision, så kan du evt. overveje at bruge en hardware timer hvis det hardware du har, har en el. flere af disse?
Gravatar #55 - onetreehell
27. maj 2010 22:11
sleep? Hvis du har det til rådighed...

ffs.... http://en.wikipedia.org/wiki/Sleep_(operating_syst...
Gravatar #56 - JacobN
27. maj 2010 22:13
#55, hvis man bruger sleep så kan programmet jo ikke lave noget imens, hvilket ikke stemmer overens med at have en løkke der kører i 10 sekunder?
Gravatar #57 - Qw_freak
27. maj 2010 22:16
Det gør ikke noget, da programmet sakl køre ca en gang hver tiende sekund!
Gravatar #58 - onetreehell
27. maj 2010 22:24
#56
Ja, okay. Jeg kunne ikke lige se nogen anden grund til at lave en løkke der kører i 10 sekunder end at man skal få 10 sekunder til at gå :)
Gravatar #59 - JacobN
27. maj 2010 22:34
#58:
Troede faktisk qw_freak ville gøre andet end "bare" at vente 10 sekunder. Men jo, hvis man bare vil vente er der ingen grund til at lave busy-wait med mindre det er det eneste man kan eller man har en god grund.
Gravatar #60 - Qw_freak
27. maj 2010 23:06
egentlig vil jeg gerne lave noget tjek på et andet system mens jeg venter, men kan ikke finde ud af hvordan det skulle kunne gøres!
Gravatar #61 - arne_v
27. maj 2010 23:17
#51

Du bør aldrig rode dine include filer sammen med compilerens include filer.

Men hvis header filerne ligger i et dir som hvor compileren søger, så skal den naturligvis også kunne finde dem.

På mange måder tror jeg at det var nemmere for dig med command line nuild, fordi så var det nemt at gennemskue hvad der skete.

Gravatar #62 - arne_v
27. maj 2010 23:22
#vente

POSIX (læs: *nix):


#include <unistd.h>

...

sleep(sekunder);


Windows:


#include <windows.h>

...

Sleep(millisekunder);


Hvis du på *nix vil vente millisekunder skal du bruge et lille trick med select og timeout.

Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login