萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux下使用printk()的方法

Linux下使用printk()的方法

  如果你有了解過Linux內核,那麼你應該對printk函數有了一定的了解,那麼對於沒接觸過printk函數的朋友來說,printk()究竟要如何使用呢?下面小編通過一個例子來講解printk()的使用,以便大家有更深入的了解。

 Linux下使用printk()的方法

  實例:

  新建hello.c

  #include 《linux/kernel.h》

  #include 《linux/module.h》

  int init_module(void)

  {

  printk(KERN_INFO “Welcome.。。.。\n”);

  return 0;

  }

  void cleanup_module(void)

  {

  printk(KERN_INFO “Bye.。。.\n”);

  }

  然後在同一目錄下編寫Makefile:

  obj-m := hello.o

  all:

  make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd)

  clean:

  -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卸載模塊即可

  上面就是Linux使用printk()的方法介紹了,本文只是簡單的通過一個例子來講解printk函數的用法,你可以上網了解更多的printk()的用法。

copyright © 萬盛學電腦網 all rights reserved