Jump to content

Tempo em milisegundos


Psycho_Mind

Recommended Posts

então depende da versão do C que estás a usar definir para compilar a tua aplicação, é por isso que deverias fazer algo do género :

unsigned int miliseconds(void)
{
if __STDC_VERSION__ >= 199901L
   struct timespec ms;
   clock_gettime(CLOCK_REALTIME, &ms);

   return ms.tv_sec * 1000 + ms.tv_nsec / 1000000
#else
   struct timeval ms;
   gettimeofday(&ms, NULL);

   return ms.tv_sec * 1000 + ms.tv_usec / 1000
#endif
}
Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

if __STDC_VERSION__ >= 199901L
   struct timespec ms;
   clock_gettime(CLOCK_REALTIME, &ms);
#else
   struct timeval ms;
   gettimeofday(&ms, NULL);
#endif

O que é que a versão do C tem a ver com a (in)existencia das funcoes (e structs) clock_gettime() e gettimeofday()?

Nenhuma das funcoes está definida pelo padrao.

A funcao clock_gettime() está definida pelo POSIX.

A funcao gettimeofday() está definida em BSD.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

tens razão

é o hábito de pensar que no gcc para c99+linux já vem com a flag do POSIX ligada

é só alterar então para:

ifdef __USE_POSIX199309
   struct timespec ms;
   clock_gettime(CLOCK_REALTIME, &ms);

   return ms.tv_sec * 1000 + ms.tv_nsec / 1000000
#else
   struct timeval ms;
   gettimeofday(&ms, NULL);

   return ms.tv_sec * 1000 + ms.tv_usec / 1000
#endif
Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

O problema é pensares que o gcc é um compilador "Standard".

Sem as opções correctas (-pedantic), o gcc não é um compilador de C Standard.

Hint: gcc -std=<o que quiseres> -pedantic ...

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.