日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...

發(fā)布時(shí)間:2025/3/20 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們平時(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。