我在嵌入式系统上使用Linux 2.6.36。我尝试使用信号量编程。为此,我需要jiffies.h
库中的函数。到目前为止这么好。当我包括Lib
以这种方式
#include <jiffies.h>
或者这样
#include <linux/jiffies.h>
作品。
但奇怪的是,如果我去打开声明(eclipse命令),它会打开一个带有库的新编辑器窗口。有没有人知道该怎么做?
答案 0 :(得分:0)
您可能无法正确构建模块。内核模块Makefile非常简单,整体看起来应该是这样的:
obj-m := mymodule.o
mymodule.ko: mymodule.c mymodule.h
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
内核构建系统将完成剩下的工作。有关更多详细信息,请参阅http://lwn.net/Kernel/LDD3/
中有关构建模块的章节编辑:
现在看起来可能你并没有尝试编写内核模块。在这种情况下,您不希望任何包含内核源代码的包含文件。 jiffies.h不是userland include;它是内核的一部分,用于编写内核的一部分。对于userland信号量,请尝试POSIX信号量。从man sem_overview
和/或Google“POSIX信号量”开始。
答案 1 :(得分:0)
解决了一个谜:Eclipse将所有文件名存储在项目中的某种列表中,当我点击show declaration
时,它会在列表中搜索该名称并显示该文件。因此,如果这项工作,它没有说明编译器和链接器。如果不是这样,请纠正我。