会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
hw-blog
博客园
首页
新随笔
联系
订阅
管理
2024年5月30日
QT事件触发顺序探讨:处理自定义事件与系统事件的冲突
摘要: 1. 课题背景 在项目开发过程中用到了纯按键的QT交互,我们通过自定义以下全局键盘事件类进行交互的实现: class KEYPRESSFILTER_EXPORT KeyPressFilter : public QObject { Q_OBJECT public: static KeyPressFil
阅读全文
posted @ 2024-05-30 15:48 成信吴彦祖(略胜亿筹)
阅读(48)
评论(0)
推荐(0)
2024年5月1日
C++基于范围的for循环优劣
摘要: C++ 的范围基 for 循环是对这些更传统循环方式的一种抽象,使得代码更简洁,更容易阅读和维护,同时减少了出错的机会,特别是在涉及复杂数据结构时。如我某个工程中的一个代码段: QDateTime time = QDateTime::currentDateTime(); for (const QPa
阅读全文
posted @ 2024-05-01 16:22 成信吴彦祖(略胜亿筹)
阅读(63)
评论(0)
推荐(0)
2024年3月7日
strlen 与 sizeof 函数对于'\0'的处理
摘要: strlen不会将\0记录进长度,而sizeof会,两者计算同一个字符串长度得出的结果差 1 。
阅读全文
posted @ 2024-03-07 19:41 成信吴彦祖(略胜亿筹)
阅读(39)
评论(0)
推荐(0)
2023年9月19日
OPENCV 4学习笔记 ——01
摘要: 1. 图像存储容器 不同于字符串、整数(分别以string、int类型保存),图像时以矩阵的形式存储的,OPENCV 4提供了 Mat 类来存储矩阵数据。 早期的OPENCV是采用 C 语言接口,以结构体IplImage来存储图像的矩阵数据,但是C语言中需要手动释放内存,这极容易导致因程序结束后没有
阅读全文
posted @ 2023-09-19 16:27 成信吴彦祖(略胜亿筹)
阅读(38)
评论(0)
推荐(0)
2023年9月18日
《LINUX驱动程序设计》学习笔记 ——04
摘要: 1. 模块的装载竞争(竞态) 竞态是驱动程序设计极其重要的方面,始终要铭记:在注册完成后,内核的某些部分可能会立即使用我们刚刚注册的任何设施。换句话说,在初始化函数还在运行的时候,内核就完全可能会调用我们的模块。因此,在首次注册完成后,代码就应该准备好被内核其他部分调用;在用来支持某个设施的所有内部
阅读全文
posted @ 2023-09-18 12:24 成信吴彦祖(略胜亿筹)
阅读(9)
评论(0)
推荐(0)
2023年9月17日
《深入LINUX内核架构》学习笔记 ——01
摘要: 模块相关的知识 1. 模块相较于宏内核(微内核优点) 模块消除了宏内核的许多限制,包括:缺乏动态可拓展性、导致内核映像尺寸膨胀、测试新特性时必须重启系统等。 2. 静态链接、动态链接及模块依赖(TIPS) 《深入理解计算机系统》中有这样一段话: 共享库是一个目标模块,在运行或加载时,可以加载到任意的
阅读全文
posted @ 2023-09-17 11:51 成信吴彦祖(略胜亿筹)
阅读(39)
评论(0)
推荐(0)
2023年9月16日
《LINUX设备驱动程序》学习笔记 ——03
摘要: 1. 学习模块前的一些基础知识 头文件:内核是一个特定的环境,对需要和它接口的代码有其自己的一些要求,所以大部分的模块代码中都会包含相当数量的头文件,其中有几个头文件是专门用于模块的,因此会出现在每个可装载的模块中: #include <linux/module.h> #include <linux
阅读全文
posted @ 2023-09-16 11:15 成信吴彦祖(略胜亿筹)
阅读(53)
评论(0)
推荐(0)
《LINUX设备驱动程序》学习笔记 ——02
摘要: 1. 编译模块 构造内核模块之前,需要注意以下条件:正确版本的编译器、模块工具和其他必要的工具。太新的或太老的工具都会对使得模块构造后产生许多复杂的问题,因为内核源代码对编译器做了大量假定,因此新的(或旧的)编译器版本可能导致问题出现。 另外,尽量运行和模块对应的内核版本。 2. 模块的装载和卸载
阅读全文
posted @ 2023-09-16 09:27 成信吴彦祖(略胜亿筹)
阅读(26)
评论(0)
推荐(0)
2023年9月14日
《LINUX设备驱动程序》学习笔记 ——01
摘要: 1. 关于内核并发 从2.6版本的内核开始,linux系统已经是可抢占式的任务调度,在此之前只有SMP系统(对称多处理器)才会有的并发问题,在2.6版本内核之后的单核处理器也会面对该问题。 很多程序员面对并发问题有一个常见的错误:“认为没有睡眠状态(或者阻塞)的进程就不会触发并发”。这即使放在2.6
阅读全文
posted @ 2023-09-14 16:23 成信吴彦祖(略胜亿筹)
阅读(27)
评论(0)
推荐(1)
2023年5月9日
QT中线程睡眠对数据IO的影响——串口bug记录
摘要: 这两天用QT做一个上位机,涉及到有一个数据发送完后需要用到延时,我一开始使用了线程休眠的方式进行延时: //发送读取指令 if (serialport->write(data) == -1) { qDebug() << "发送失败!"; }QThread::msleep(1000); serialp
阅读全文
posted @ 2023-05-09 22:37 成信吴彦祖(略胜亿筹)
阅读(148)
评论(0)
推荐(0)
下一页
公告
点击右上角即可分享