歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> Linux下使用printk()的方法

Linux下使用printk()的方法

日期:2017/3/2 10:29:32   编辑:Linux維護

如果你有了解過Linux內核,那麼你應該對printk函數有了一定的了解,那麼對於沒接觸過printk函數的朋友來說,printk()究竟要如何使用呢?下面小編通過一個例子來講解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 © Linux教程網 All Rights Reserved