Jump to content

Recommended Posts

Posted (edited)

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
Posted

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!

Posted (edited)

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
Posted (edited)

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!

Posted

Entretanto consegui resolver. Obrigado pessoal.

Agora ver se arranjo é forma de implementar a ligação a um site que verifique se um determinado IP está na key blacklist ou não. Um script para isto em Python devia de se fazer melhor, mas em C deve de ser mais complicado.

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.