[LUGOS-PROG] merjenje easa nataeneje kot na sekunde
    Branko F. Graèner 
    branko at edico.si
       
    Fri Nov  2 11:40:20 CET 2001
    
    
  
spravil sem nekaj skupaj z gettimeofday(), vendar mi stvar iz nekega razloga
segfaulta....
mi lahko kdo pove, zakaj spodnja zadeva ne deluje? sekunde in mikrosekunde
se pravilno zapišejo v tv_sec in tv_usec v obe strukturi, na kateri kažeta
pointerja *stop in *ura. lahko ju izpišem, vendar stvar pri računanju nekak
pogrne... sem poizkusil že veliko kombinacij pretvorb tipov (iz longint ->
double, float), pa ni nič pomagalo. stvar segfaulta tudi, če za rezultat
izberem tip long int, pa samo odštejem sekunde ... wtf?!? če pri kompajlanju
izberem optimizacijo (-Ox), program, ki drugače zelo preprost segfaulta že
čisto na začetku, ko bi se moglo izvesti printf() ...
brane
--- cut here ---
struct timeval *ura;
void zazeni_uro (void) {
    ura=malloc(sizeof(struct timeval));
    if (ura != NULL) {
           gettimeofday(ura);
     }
}
double ustavi_uro (void) {
    struct timeval *stop;
    stop=malloc(sizeof(struct timeval));
    if (stop != NULL) {
      return((double)((stop->tv_sec - ura->tv_sec)+((stop->tv_usec -
ura->tv_usec)/10000000)));
    }
    free(ura); free(stop);
    return -1;
}
    
    
More information about the lugos-prog
mailing list