モジュールに を表示させようとしていますprintk
。私はこれに慣れていないので、プログラミングエラーがあるかもしれません。これは私のモジュール C ファイルです。
#include <linux/linkage.h>
#include <linux/time.h>
#include <linux/module.h>
asmlinkage long sys_mycall(int myid, char* firstname)
{
printk ("Hello, %s! \n sys_mycall called from process %d with ID %d. \n",
firstname, current->id, myid);
return 0;
}
static int my_init(void)
{
return 0;
}
static int my_exit(void)
{
printk("Goodbye!");
return 0;
}
module_init(sys_mycall);
module_exit(my_exit);
まず、アロー ポインターが正確にどのように機能するかがわからないため、通常はアロー ポインターを省略してprintk
完全にコンパイルします。誰かが私にリンクやそれを理解する方法について何かを与えることができれば、本当に感謝しています.
insmod
を使用してターミナルに挿入し、 を使用してメッセージを表示すると、を呼び出してdmesg
メッセージを取得できますが、引数を追加することはできず、メッセージは表示されますが、 forまたは forは何も表示されません。module_init
sys_mycall
firstname
myid