0
我想在list.h
(這裏是我的list.h)中使用函數INIT_LIST_HEAD
,但是我得到錯誤undefined reference to INIT_LIST_HEAD
。 這裏是我的源代碼:對list.h中INIT_LIST_HEAD的未定義引用
#include <linux/list.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
struct list_head* hd = NULL;
INIT_LIST_HEAD(hd);
exit(0);
}
這是不是一個函數。它在頭部被定義爲宏。 – ameyCU
只有在定義了__KERNEL__或_LVM_H_INCLUDE時才能讀取頭文件;在通常的包容衛隊裏面還有第二個「#if」防守隊員。所以有一種可能性是你已經包含了一個空頭,而'INIT_LIST_HEAD'被解釋爲常規函數(struct list_head沒有錯誤信息,因爲可以定義一個不完整類型的指針) –
@MOehm謝謝期待你的答覆。我現在明白了。所以我不能在我的程序中使用'INIT_LIST_HEAD()'? – HuangJie