[英]warning: implicit declaration of function 'kill'
我正在制作這些夾雜物:
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
但仍然收到此警告。
您可能正在將“-ansi -Wall”開關傳遞給 gcc 編譯器。 如果不需要“-ansi”,可以刪除它,否則請嘗試設置適當的功能定義宏。
就像是:
#define _POSIX_SOURCE
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
#include <sys/wait.h>
您還可以在編譯時通過使用 gcc 添加此標志來定義它。
-D_POSIX_C_SOURCE
前任:
-g -D_POSIX_C_SOURCE -Wall -std=c99
根據kill(2) Linux 手冊頁, _POSIX_C_SOURCE
在任何包含之前必須是#define
d,以便在使用glibc 時通過<signal.h>
包含函數kill() 的原型。
您的代碼可能會以任何一種方式編譯,因為無論定義如何,二進制文件都可用於鏈接,但這是根據文檔消除此警告的正確方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.