歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux中printk()實例

Linux中printk()實例

日期:2017/2/28 15:29:20   编辑:Linux教程

新建hello.c

  1. #include <linux/kernel.h>
  2. #include <linux/module.h>
  3. int init_module(void)
  4. {
  5. printk(KERN_INFO "Welcome.....\n");
  6. return 0;
  7. }
  8. void cleanup_module(void)
  9. {
  10. printk(KERN_INFO "Bye....\n");
  11. }

然後在同一目錄下編寫Makefile

  1. obj-m := hello.o
  2. all:
  3. make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd)
  4. clean:
  5. -rm *.o *.ko Mod* mod* *.mod.c

進入終端,切換到對應目錄下

執行 make

編譯完成後會得到 hello.ko//hello.ko就是編譯好的模塊

執行 sudo insmod hello.ko //加載模塊

執行 lsmod 可以察看當前已經加載的模塊,如果hello.ko已經加載,那麼執行完lsmod後就可以看到已經加載好的hello.ko

執行dmesg就可以察看printk()函數的輸出,此時可以看到打印出來的Welcome.. 這個信息其實是保存在/var/log/syslog這個文件中的,查看這個文件也同樣能看到輸出的信息Welcom...

測試完畢後執行sudo rmmod hello卸載模塊即可

Copyright © Linux教程網 All Rights Reserved