【发布时间】:2017-12-12 19:50:02
【问题描述】:
在我的.h 文件中,我有:
#include <linux/list.h>
struct myNode
{
struct list_head list;
int myID;
int myBadge;
};
extern struct myNode firstNode;
对于在.c 文件中定义 firstNode 变量,我已经尝试过:
#include "test.h"
INIT_LIST_HEAD(&firstNode.list);
但是当我编译时,我得到了错误:
expected declaration specifiers '...' before '&' token INIT_LIST_HEAD(&firstNode.list);
我不太熟悉错误的实际含义(抱歉,我对 C 不太熟悉),所以我不确定为什么/这意味着什么。
【问题讨论】:
-
我们需要您提供更多代码来提供帮助。
-
您是否包含了
list.h标头? -
问题似乎是在您尝试使用
INIT_LIST_HEAD的范围内没有定义。 -
不知道为什么你被否决了。但是,不要使用除内核代码之外的 Linux 内核头文件。它们并非用于支持用户空间程序。
-
请不要破坏您的帖子。如果您认为您的问题没有用或不再有用,则应删除,而不是编辑掉所有实际使其成为问题的数据。通过在 Stack Exchange 网络上发布,您已授予 SE 分发该内容的不可撤销的权利(根据 CC BY-SA 3.0 许可)。根据 SE 政策,任何破坏行为都将被撤销。
标签: c struct linked-list linux-kernel