2012-04-03 31 views
6

Tôi đang làm cho những thể vùi:cảnh báo: khai tiềm ẩn của chức năng 'giết'

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

Nhưng vẫn nhận được cảnh báo này.

+2

nền tảng gì vậy? – cnicutar

+3

Nếu cách bạn đang gọi kill không khớp với nguyên mẫu thực tế, thì đó có thể là lý do bạn thấy cảnh báo này. – jamessan

+1

Yêu cầu về macro thử nghiệm tính năng '_POSIX_C_SOURCE> = 1 || _XOPEN_SOURCE || _POSIX_SOURCE'? –

Trả lời

8

Có thể bạn đang chuyển các công tắc "-ansi -Wall" sang trình biên dịch gcc. Bạn có thể xóa "-ansi" nếu bạn không cần nó, nếu không hãy thử đặt macro xác định tính năng thích hợp.

Cái gì như:

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

thanx để sửa lỗi cú pháp của tôi ... s/remote/remove/:-) – dAm2K

+0

vẫn nhận được lỗi này, tôi gọi nó là thông số của nó: (int signal, void (* handler) (int)), với handler pointer to một hàm trả về void và chấp nhận tham số int như. –

+0

Đặt hàng các vấn đề. Dòng "#define _POSIX_SOURCE" phải là dòng đầu tiên của bạn trong tệp hoặc trước khi bao gồm lần đầu tiên của bạn. – dAm2K

1

Bạn cũng có thể xác định nó trên thời gian biên dịch bằng cách thêm cờ này với gcc.

-D_POSIX_C_SOURCE 

ví dụ:

-g -D_POSIX_C_SOURCE -Wall -std=c99 
Các vấn đề liên quan