2012-04-03 28 views
6

estoy haciendo estas inclusiones:aviso: declaración implícita de la función de 'matar'

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

Pero sigue recibiendo esta advertencia.

+2

¿En qué plataforma es eso? – cnicutar

+3

Si la forma en que llamas kill no coincide con el prototipo real, esa podría ser la razón por la que estás viendo esta advertencia. – jamessan

+1

Requisitos de macro de prueba de entidad '_POSIX_C_SOURCE> = 1 || _XOPEN_SOURCE || _POSIX_SOURCE'? –

Respuesta

8

Probablemente esté pasando los modificadores "-ansi -Wall" al compilador gcc. Puede eliminar "-ansi" si no lo necesita, de lo contrario, intente establecer la macro de definición de características adecuada.

Algo así como:

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

gracias por editar mi error de sintaxis ... s/remote/remove/:-) – dAm2K

+0

sigue recibiendo este error, lo llamo al pasar sus parámetros: (int signal, void (* handler) (int)), con el puntero del controlador a una función que devuelve vacío y que acepta un parámetro int like. –

+0

El orden es importante. La línea "#define _POSIX_SOURCE" debe ser su primera línea en el archivo, o antes de su primera inclusión. – dAm2K

1

También puede definirlo en el momento de la compilación, añadiendo esta bandera con gcc.

-D_POSIX_C_SOURCE 

ejemplo:

-g -D_POSIX_C_SOURCE -Wall -std=c99 
Cuestiones relacionadas