簡體   English   中英

警告:函數“kill”的隱式聲明

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM