linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...
我們平時(shí)在圖形界面下開一個(gè)終端(xterm),然后在程序里面開發(fā)程序時(shí),用printk()打印一些我們需要打印的信息,但是這些信息不能在當(dāng)前終端下面顯示出來,只能通過dmesg才能查看,很麻煩,這兩天從書上學(xué)了一個(gè)方法,拿出來和大家分享一下,簡單的幾句代碼就可以解決這個(gè)問題,代碼如下:
#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);
代碼里面的關(guān)鍵部分就是print_string(char *)這個(gè)函數(shù)了,以后我們就可以調(diào)用這個(gè)信息隨便的在自己xterm里面打印信息了。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux手机投屏软件,无线投屏器如此多
- 下一篇: linux怎么使用cal命令,Linux