2012-04-03 66 views
6

的隐式声明我在做这些夹杂物:警告:函数“杀”

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

但仍然得到此警告。

+2

什么平台是什么? – cnicutar 2012-04-03 13:44:06

+3

如果您致电kill的方式与实际原型不匹配,那么这可能是您看到此警告的原因。 – jamessan 2012-04-03 13:44:28

+1

功能测试宏需求'_POSIX_C_SOURCE> = 1 || _XOPEN_SOURCE || _POSIX_SOURCE'? – 2012-04-03 13:44:36

回答

8

您可能将“-ansi-Wall”开关传递给gcc编译器。 如果您不需要,您可以移除“-ansi”,否则尝试设置正确的特征定义宏。

喜欢的东西:

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

thanx编辑我的语法错误... s/remote/remove/:-) – dAm2K 2012-04-03 14:11:05

+0

仍然出现此错误,我称之为传递它的参数:(int signal,void(* handler)(int)),处理程序指针一个函数返回void并接受一个int类型的参数。 – 2012-04-03 15:14:36

+0

订单事宜。 “#define _POSIX_SOURCE”行应该是您文件中的第一行,或者是您第一次包含的行。 – dAm2K 2012-04-03 16:11:36

1

您还可以通过用gcc增加此标志定义它的编译时间。

-D_POSIX_C_SOURCE 

例如:

-g -D_POSIX_C_SOURCE -Wall -std=c99