计算机网络基础_博客

摘要: 从零理解网络通信:MAC、IP、交换机、路由器到底怎么配合? 📌 适合人群:刚接触计算机网络、对"数据怎么从一台电脑跑到另一台电脑"感到懵的同学。 本文用最直白的方式,把 MAC 地址、IP 地址、交换机、路由器、ARP 串成一条完整的故事线。 一、为什么需要"地址"? 两台电脑要通信,第一步得能 阅读全文
posted @ 2026-08-21 19:55 dd_l 阅读(3) 评论(0) 推荐(0)

logger_design_blog

摘要: 从"单例 + 一个输出函数"到专业日志类:一个基于生产者-消费者模型的 C++/Qt 异步日志设计 本文基于 logger.h / logger.cpp 的实现,拆解一个支持日志等级、多线程异步写入、条件变量唤醒、Sink 回调扩展的日志类设计,并对比它相对"只有一个单例 + 一个给其他线程调用的输 阅读全文
posted @ 2026-08-16 13:59 dd_l 阅读(2) 评论(0) 推荐(0)

Qt项目中遇到UTF-8BOM问题

摘要: 首先UTF-8和UTF-8BOM在开始的前3个字节是不一样的,UTF-8 BOM是Windows用来识别UTF-8的一种方式 但是如果项目中文件是UTF-8 BOM编码,那大概会编译不通过,然后编译输出中会出现一堆乱码的东西 而出现的原因大多数是用多个编译器打开同一个项目 比如我用Qt打开编辑后保存 阅读全文
posted @ 2026-08-13 16:37 dd_l 阅读(2) 评论(0) 推荐(0)

CMake补充

摘要: 1、对于我们项目中好多头文件和源文件要包含进来时,我之前用set({SRC} ……………………) 但是这样不好,依旧会写一堆,所以可以这样做 file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) 这样就可以把src文件夹下所有的源文件都赋值给${S 阅读全文
posted @ 2026-08-07 15:50 dd_l 阅读(4) 评论(0) 推荐(0)

QThread中当前的子线程出现了msleep,配合invokeMethod出现死锁问题

摘要: 先看当前代码 点击查看代码 class SafetyWork:public QObject { Q_OBJECT public: explicit SafetyWork(MotionCardInterface*card,QObject *parent = nullptr); public slots 阅读全文
posted @ 2026-07-30 16:48 dd_l 阅读(7) 评论(0) 推荐(0)

Qt中MovetoThread()中的对象不能有父类问题

摘要: 在Qt中比如 点击查看代码 class A:QObject { A(QObject*parent=nullptr); } class B:QObject { A*m_worker; QThread *thread; } this->m_work=new A(this); this->m_work.M 阅读全文
posted @ 2026-07-30 14:25 dd_l 阅读(3) 评论(0) 推荐(0)

对于Qt中const函数不能emit信号的问题

摘要: 对于这样一个函数 const RecipePoint &RecipeManager::getPoint(int index) const 内部是不允许emit信号的 这里我们用的信号是这样的 点击查看代码 signals: void recipeValidationFailed(const QStr 阅读全文
posted @ 2026-07-25 23:22 dd_l 阅读(6) 评论(0) 推荐(0)

Qt中QObject禁止operator=重载

摘要: 比如我设计一个类(直接从项目中粘过来了,主要看有没有继承自QObject) 点击查看代码 class RecipePointConfig:QObject { Q_Object public: explicit RecipePointConfig(QObject*parent=nullptr); // 阅读全文
posted @ 2026-07-25 22:19 dd_l 阅读(6) 评论(0) 推荐(0)

多线程问题

摘要: 点击查看代码 class SafetyWork:public QObject { Q_OBJECT public: explicit SafetyWork(MotionCardInterface*card,QObject *parent = nullptr); public slots: void 阅读全文
posted @ 2026-07-25 15:48 dd_l 阅读(4) 评论(0) 推荐(0)

Qt信号与槽的第5个参数Qt :: Queued Connection

摘要: 信号与槽第5个参数如果是Qt :: Queued Connection,就代表这个槽函数放到事件队列中,等待主线程空闲处理事件队列,也就是说槽函数会延迟处理 但是如果我们的这个槽函数所属的类没有在子线程中的话,那么主线程会一直等待这个对应的槽函数执行,会导致ui卡死 比如这样 点击查看代码 void 阅读全文
posted @ 2026-07-23 23:11 dd_l 阅读(5) 评论(0) 推荐(0)