0

最近、Linux カーネルに組み込みたい新しいヘッダー ファイルを作成しました。.h ファイルを usr/src/linux/include/linux に置きました。.c ファイルを usr/src/linux/lib に置きました。lib ディレクトリの Makefile を更新し、カーネルを再コンパイルしましたが、エラーは発生しませんでした。しかし、ヘッダー ファイル内の関数を使用しようとすると、関数が定義されていないというエラーが表示されました。私は (間違って) カーネルがどの c ファイルのヘッダーであるかを知っていると思い込んでいました。これを正しく設定するにはどうすればよいですか?

4

1 に答える 1

0

関数をどこで使用しようとしていますか?

カーネル(外部モジュール)内で機能を試した場合。EXPORT_SYMBOL(); を追加する必要があります。関数が定義されているモジュールに。

それ以外の場合(ユーザー空間から)、それは異なります(そしてより複雑です)。

于 2012-06-25T11:41:08.427 に答える