2012-04-03 105 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