0

モジュールを作成し、カーネルに追加したいのですが、モジュールをinsmodするとワールドが出力されますが、出力されません...

モジュールとして:

#include <linux/module.h>
#include <linux/init.h>

static int __init hello_init()
{
    printk(KERN_EMERG"Hello World!\n");
    return 0;
}

static void __exit hello_exit()
{
    printk("<6>hello exit\n");
}

module_init(hello_init);
module_exit(hello_exit);

モジュールをロードしたときに「HelloWorld!\ n」が印刷されないのはなぜですか?質問に答える人はいますか?あなたの助けを考えています...

4

2 に答える 2

1

おそらく、リンクまたはヘッダーの問題です。

問題になる可能性のあるライセンスも指定していないようです。

特にリンクとロード部分については、このサイトを試すことができます。

于 2012-05-09T12:49:06.577 に答える
1

コンパイル/リンク エラーが発生せず、insmod/modprobeがシンボルの欠落について文句を言わなかったので、これが発生する理由は 2 つあります。

  1. 誰かがマクロを定義しましたprintk()
  2. あなたは間違った場所を見ました。テキストは syslog に出力されます。それを見るには、dmesg | tail
于 2012-05-09T12:54:42.033 に答える