Estou tendo os seguintes problemas de compilação ao passar o parâmetro -ansi ao gcc :
tempo.c: In function 'dorme':
tempo.c:41: error: storage size of 'tempo' isn't known
tempo.c:44: warning: implicit declaration of function 'nanosleep'
tempo.c:41: warning: unused variable 'tempo'
make: *** [tempo.o] Error 1
Onde tempo é uma struct timespec.
Esse arquivo possui os seguintes includes:
stdlib.h, time.h e sys/time.h
Sem o parâmetro -ansi, compila e executa perfeitamente.
Warning: implicit declaration of function 'nanosleep'
por Felipe Lamberti Amado -
Número de respostas: 3
Em resposta à Felipe Lamberti Amado
Re: Warning: implicit declaration of function 'nanosleep'
por Marcelo Reis -
Dá pra compilar com o "-ansi" sim, o colega Rafael postou um exemplo no outro tópico de como fazê-lo.
[]s,
[]s,
Em resposta à Marcelo Reis
Re: Warning: implicit declaration of function 'nanosleep'
por Felipe Lamberti Amado -
-D_POSIX_C_SOURCE=199309L
O que esse parâmetro faz? Por que temos que usar o padrão ansi? O professor mostrou um projeto de alguns anos atrás e já não utilizavam esse padrão...
Não podemos utilizar o -std=c99?
O que esse parâmetro faz? Por que temos que usar o padrão ansi? O professor mostrou um projeto de alguns anos atrás e já não utilizavam esse padrão...
Não podemos utilizar o -std=c99?
Em resposta à Felipe Lamberti Amado
Re: Warning: implicit declaration of function 'nanosleep'
por Marcelo Reis -
Ok, vou aceitar os dois padrões ANSI: o C90 (default do -ansi) e o C99. Mas o EP de vocês precisa compilar sem warnings para um dos dois.
[]s,
[]s,