Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Psycho_Mind

Tempo em milisegundos

Mensagens Recomendadas

HappyHippyHippo

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
}

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

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!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

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

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

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 ...

Editado por 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!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Psycho_Mind

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Psycho_Mind

Boas.

Sabem como integrar Python em C ? Consegui arranjar o código que preciso mas em Python, assim facilitaria ao integrar no codigo C que já tenho, mas de tudo o que encontrei nada surtiu o efeito desejado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.