2012-04-03 10 views
6

Sto facendo queste inclusioni:avvertimento: dichiarazione implicita di funzione 'kill'

#include <signal.h> 
#include <unistd.h> 
#include <sys/types.h> 
#include <sys/wait.h> 

Ma ancora ottenere questo avvertimento.

+2

Quale piattaforma è quello? – cnicutar

+3

Se il modo in cui stai chiamando kill non corrisponde al prototipo effettivo, allora questo potrebbe essere il motivo per cui vedi questo avviso. – jamessan

+1

Requisiti della macro di test delle funzioni '_POSIX_C_SOURCE> = 1 || _XOPEN_SOURCE || _POSIX_SOURCE'? –

risposta

8

Probabilmente stai passando le opzioni "-ansi -Wall" al compilatore gcc. È possibile rimuovere "-ansi" se non è necessario, altrimenti provare a impostare la funzione corretta definire macro.

Qualcosa di simile:

#define _POSIX_SOURCE 
#include <sys/types.h> 
#include <signal.h> 
#include <unistd.h> 
#include <sys/wait.h> 
+0

grazie per aver modificato il mio errore di sintassi ... s/remote/remove/:-) – dAm2K

+0

riceve ancora questo errore, lo chiamo passando i suoi parametri: (int signal, void (* handler) (int)), con il puntatore del gestore una funzione che restituisce il vuoto e accetta un parametro simile a int. –

+0

L'ordine conta. La riga "#define _POSIX_SOURCE" dovrebbe essere la prima riga nel file o prima del tuo primo inserimento. – dAm2K

1

È anche possibile definire sul momento della compilazione con l'aggiunta di questo flag con gcc.

-D_POSIX_C_SOURCE 

es:

-g -D_POSIX_C_SOURCE -Wall -std=c99 
Problemi correlati