0

我在嵌入式系统上使用 Linux 2.6.36。我尝试用信号量编程。为此,我需要jiffies.h库中的一个函数。到目前为止这么好。当我包含 Lib

无论是这种方式

#include <jiffies.h>

或者这样

#include <linux/jiffies.h>

作品。

但奇怪的是,如果我打开声明(eclipse 命令),它会打开一个带有库的新编辑器窗口。有谁知道该怎么做?

4

2 回答 2

0

解决了一个谜团:Eclipse 将项目中的所有文件名存储在一种列表中,当我单击show declaration它时,在列表中搜索该名称并显示该文件。因此,如果可行,它不会说明编译器和链接器。如果这不是真的,请纠正我。

于 2012-09-19T06:12:50.813 回答
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 不是用户态包含;它是内核的一部分,用于编写内核的一部分。对于用户态信号量,请尝试使用 POSIX 信号量。从man sem_overview, 和/或 Google“POSIX 信号量”开始。

于 2012-09-18T16:06:11.143 回答