linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...
我們平時在圖形界面下開一個終端(xterm),然后在程序里面開發程序時,用printk()打印一些我們需要打印的信息,但是這些信息不能在當前終端下面顯示出來,只能通過dmesg才能查看,很麻煩,這兩天從書上學了一個方法,拿出來和大家分享一下,簡單的幾句代碼就可以解決這個問題,代碼如下:
#include
#include
#include
#include
#include
#include
MODULE_LICENSE("GPL");
MODULE_AUTHOR("ZHANG FEI LONG");//這些信息可以通過modinfo??XXX.o查看
static void print_string(char * str)
{
struct tty_struct * my_tty;? ?//將要顯示字符的終端
#if(LINUX_VERSION_CODE<=KERNEL_VERSION(2,6,5))//條件編譯判斷kernel版本
my_tty = current->tty;
#else
my_tty = current->signal->tty;
#endif
if(my_tty!=NULL)
{
((my_tty->driver)->ops->write)(my_tty,
#if(LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,9))
0,
#endif
str,
strlen(str));
#if(LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,9))
((my_tty->driver)->ops->write)(my_tty,0,"\015\012",2);
#else
((my_tty->driver)->ops->write)(my_tty,"\015\012",2);
#endif
}
}
static int __init print_string_init(void)
{
print_string("The module has been inserted,Hello World");
return 0;
}
static void __exit print_string_exit(void)
{
print_string("The module has been removed,Farewell world");
}
module_init(print_string_init);
module_exit(print_string_exit);
代碼里面的關鍵部分就是print_string(char *)這個函數了,以后我們就可以調用這個信息隨便的在自己xterm里面打印信息了。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux手机投屏软件,无线投屏器如此多
- 下一篇: linux怎么使用cal命令,Linux