0

組み込みシステムでLinux2.6.36を使用しています。私はセマフォで何かをプログラムしようとしています。このために、jiffies.hライブラリの関数が必要です。これまでのところとても良いです。Libを含めると

このどちらか

#include <jiffies.h>

またはこのように

#include <linux/jiffies.h>

動作します。

しかし、奇妙なことに、宣言(eclipse comand)を開くと、ライブラリを含む新しいエディターウィンドウが開きます。誰かが何をすべきか手がかりを持っていますか?

4

2 に答える 2

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 に答える
0

1つの謎が解決されました。Eclipseはプロジェクト内のすべてのファイル名を一種のリストに保存し、show declarationそれをクリックするとリストでその名前を検索してファイルを表示します。したがって、これが機能する場合、コンパイラとリンカについては何も述べていません。それが真実でない場合は、私を訂正してください。

于 2012-09-19T06:12:50.813 に答える