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里面打印信息了。
linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...相关推荐
- linux中如果编译二进制,在linux中把汇编或c程序交叉编译成二进制文件烧录开发板过程详解...
嵌入式开发中在宿主机中要编译能在目标机中运行的程序文件需要用到一种工具:交叉工具链.其中我们常用的交叉工具有以下几种:交叉编译器,交叉连接器,交叉转换器,交叉ELF文件工具,交叉反汇编器.以下通过实例 ...
- alios things开发板_AliOS Things图形界面开发指南
摘要: 简介 物联网设备开发过程中,嵌入式GUI(用户图形界面)的开发是一个重要的组成部分.许多智能设备如智能家电.智能手表.智能仪表上都会涉及到GUI开发.AliOS Things集成开源图形库 ...
- python做界面用什么软件好_pyqt | 做一个好用的图形界面软件
原标题:pyqt | 做一个好用的图形界面软件 pyqt5快速开发与实战 什么是pyqt? PyQt是一个用python创建GUI(图形界面)应用程序的工具包它是Python编程语言和Qt库的成功融合 ...
- python嵌套html开发gui_python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例...
PyQt5布局控件QFormLayout简介 QFormLayout是label-field式的表单布局,顾明思议,就是实现表单方式的布局,表单是提示用户进行交互的一种模式,主要有两列组成,第一列用于 ...
- linux中磁盘满了?一招教你快速清理
创作背景:当天部署服务时,发现无法部署,后来经过日志排查后发现服务器磁盘满了,查询资料后进行了清理.话不多说,直接上解决方法. 操作一: 1.查看磁盘大小: df -h 2.直接在最上层进行排序:du ...
- linux图形化卡在开机界面,linux怎么在开机时进入图形界面
编辑/etc/inittab文件# inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGU ...
- python使用界面-如何使用Python建立有窗口、按钮之类的图形界面
The best way to learn a programming language is to write a lot of code and read a lot of code. 到目前为止 ...
- 简单c语言图形界面,求个用最简单的的代码来实现图形界面…
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HW ...
- Linux中的终端(Terminal)与控制台(Console)的区别
前言:我们经常听见两个概念,终端和控制台,但是它们的本质到底是什么,到底有什么区别,却很少能够讲得清楚,虽然明确的区分它们并没有太大的用处,但是对于理解Linux还是非常有帮助的. 一.终端Termi ...
最新文章
- android用于打开各种文件的intent
- Lock与synchronized测试区别
- springmvc二十五:springmvc支持ajax
- Android 充电LED控制
- 计算机怎么远程桌面,电脑远程桌面如何连接 电脑远程桌面连接方法【详解】...
- ROS中阶笔记(四):机器人仿真—Gazebo物理仿真环境搭建(重点)
- python自动化任务_Python任务自动化工具tox使用教程
- php preg replace中文,php preg_replace函数用法
- 用计算机数字语言研究中医理论,试论中医基础理论数字模型.pdf
- 【Codeforces contest-1214 E】Petya and Construction Set【树上构造】
- 使用开放的showapi接口小技巧
- JAVA购物商城系统毕业设计 开题报告
- 免费节假日API第一时间更新2019年节假日放假安排 可怜的五一
- 图像转换成lmdb格式
- 炫龙银魂t1配置_炫龙银魂T1,不一样的外观一样的强悍
- PC 真的不行了!Intel、AMD 同遭生死劫
- CEP的一个简单理解
- 最新美团java开发3轮技术面+hr面 点评(总结分析)
- python 手机号码识别,python 通过手机号识别出对应的微信性别(实例代码)
- 苹果4是android吗,呵呵!原来苹果手机有这么多缺点,你想换安卓吗?