[发明专利]基于嵌入式Linux下多线程开发中控制打印输出信息的方法在审
申请号: | 201611100587.9 | 申请日: | 2016-12-05 |
公开(公告)号: | CN106776304A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 李旭升;孙明刚;刘世和;莫家年 | 申请(专利权)人: | 云鸟(上海)能源科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200082 上海市杨*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 嵌入式 linux 多线程 开发 控制 打印 输出 信息 方法 | ||
1.一种基于嵌入式Linux下多线程开发中控制打印输出信息的方法,其特征在于,通过以下步骤来实现:
a).创建打印控制文件,创建用于接收和存储待打印线程名称的打印控制文件,Linux系统运行以后,调试人员使用echo命令向该打印控制文件写入预打印的线程名称;
b).创建记录表,创建用于存储线程ID和线程名称的记录表,每当有线程发起时,首先判断该线程名称在记录表中是否已存在,如果已经存在,则将该名称对应的ID更新;如果不存在,则将线程名称和线程ID同时存入记录表;
c).定义全局字符指针p,使用内存映射函数mmap,将步骤a)中存储有待打印线程名称的打印控制文件映射到全局字符指针p;
d).重新实现printf函数,采用与printf不同的字符重新定义一个打印函数,并使重新定义的打印函数的入参与标准printf函数的入参相同;然后再通过宏定义,将标准printf替换为重新定义的打印函数的名称,以达到在使用重新定义的打印函数时与标准printf函数具有相同的接口和效果;
e).输出打印信息,在Linux系统下,利用重新定义的打印函数打印信息时,所有线程均获取本线程的ID,并根据ID查找步骤a)中记录表中对应的线程名称,然后查找步骤c)中全局字符指针p指向的内存中是否含有本线程名称,如果有则将信息打印输出,如果没有则退出或返回。
2.根据权利要求1所述的基于嵌入式Linux下多线程开发中控制打印输出信息的方法,其特征在于:步骤a)中定义的打印控制文件的名称和地址可以为:/home/printfctl,使用echo命令向该打印控制文件输出预打印线程名称格式为:如echo "taskname1" > /home/printfctl,以允许线程名称为taskname1的线程打印信息,通过echo "taskname N“ >> /home/printfctl增加名称为tasknameN的线程输出打印信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云鸟(上海)能源科技有限公司,未经云鸟(上海)能源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611100587.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:调试信息的处理方法及装置
- 下一篇:图片处理云平台的测试方法及系统