<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[c3152144837的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/c3152144837</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; c3152144837]]></copyright><item><title><![CDATA[一次关于“鼠标是不是串口”的追问：从USB协议到CAN总线]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/164293473</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/164293473</guid><author>c3152144837</author><pubDate>Wed, 02 Sep 2026 11:10:14 +0800</pubDate><description><![CDATA[这次从“鼠标是不是串口”的疑惑开始，一路深入到USB协议、虚拟串口、RS-485电气标准，再到CAN/CAN FD的完整协议栈，最后落实到Qt的工程差异。技术世界没有孤立的“小问题”，每一次追问，都会打开一张全新的知识网络。希望这篇文章，也能给你带来一些启发和探索的乐趣。]]></description><category></category></item><item><title><![CDATA[吃透C++内存分区：栈、堆、静态存储区彻底详解（含实战坑点）]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/163876705</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/163876705</guid><author>c3152144837</author><pubDate>Wed, 19 Aug 2026 09:56:16 +0800</pubDate><description><![CDATA[很多C++开发者写了几年代码，依然对的认知模模糊糊：为什么局部变量出函数就失效？new出来的对象为什么要手动delete？全局变量存在哪里？内存泄漏到底怎么产生的？本质上，C++程序运行时的内存是分区管理的，不同区域拥有截然不同的。今天这篇博客，从零到一讲清楚C++五大核心内存分区，彻底解决内存认知误区，附带实战易错点总结。。每个区域各司其职，缺一不可。]]></description><category></category></item><item><title><![CDATA[为什么高手喜欢“先连接信号槽，再在同一方法内发射信号”？【揭秘 Qt 串口编程】]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/163847867</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/163847867</guid><author>c3152144837</author><pubDate>Tue, 18 Aug 2026 10:46:48 +0800</pubDate><description><![CDATA[硬件资源切换：如蓝牙、USB 热插拔后的重连。单例/模块初始化：在复杂的构造函数中，为了避免构造未完成时触发虚函数，常用或信号槽将初始化推迟到事件循环启动后。状态机迁移：在状态切换的exit()方法中，发射信号触发下一个状态的entry()，确保状态迁移的原子性。很多初学者学 Qt 只记住了“信号槽是用来解耦的”，却忽略了它更深层的时序控制力。接手这个老项目最大的收获，就是透过那层“灵异现象”的面纱，看到了老一辈 Qt 程序员对操作系统内存模型和事件循环机制的敬畏。]]></description><category></category></item><item><title><![CDATA[一次Qt上位机图表不绘制问题的完整调试与重构复盘]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/163822457</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/163822457</guid><author>c3152144837</author><pubDate>Mon, 17 Aug 2026 13:29:13 +0800</pubDate><description><![CDATA[本次 Bug 是由三个层次的问题叠加信号槽连接与对象生命周期不同步重构后，new操作放在chartInit中（被调用4次），但connect只执行了一次，且时机不对，导致 063 的对象未正确绑定信号。多对象同时接收信号导致主线程拥堵集中分发时，所有图表对象同时绘制，造成 UI 线程过载，出现延迟假象。缺少模式过滤分发逻辑未区分当前激活设备，导致无用绘制消耗 CPU 资源。大型项目的重构，不仅要考虑代码复用，更要关注对象生命周期、信号槽绑定时机、以及多对象并发时的性能影响。]]></description><category></category></item><item><title><![CDATA[Qt上位机串口调试，从现象到源码，彻底搞懂close/open的那些坑]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/163703306</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/163703306</guid><author>c3152144837</author><pubDate>Wed, 12 Aug 2026 17:53:47 +0800</pubDate><description><![CDATA[误区真相close()后立即open()应该成功close()返回不代表驱动清理完成sleep()可以等待释放sleep()阻塞事件循环，反而阻碍清理加长延时就能解决问题关键在于事件循环是否运转，而非时长代表端口已释放只代表Qt层句柄释放，内核可能还在忙"能用"和"可靠"之间隔着一个操作系统原理的距离。串口编程看起来简单（openwritereadclose），但Windows底层的重叠I/O、完成端口、驱动生命周期管理，每一个细节都可能成为隐藏的炸弹。希望这篇博客能帮到正在被类似问题困扰的开发者。]]></description><category></category></item><item><title><![CDATA[Merge k Sorted Lists 优先队列--力扣101算法题解笔记]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/160115145</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/160115145</guid><author>c3152144837</author><pubDate>Mon, 13 Apr 2026 15:48:38 +0800</pubDate><description><![CDATA[优先队列可以在O(1)的时间内获得最大值，并且可以在O(log n)的时间内取出最大值或插入任意值。优先队列常常用堆来实现，堆是一个完全二叉树，每个节点的值总是大于等于子节点的值，实现堆的时候，我们通常用一个数组而不是用指针建立一个树。因为堆是完全二叉树，所以用数组表示时，位置i的节点的父节点位置一定为i/2，而他的两个子节点的位置有一定分别为2i和2i+1。]]></description><category></category></item><item><title><![CDATA[ DolphinDB 在股票信息处理与分析中的应用]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159758180</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159758180</guid><author>c3152144837</author><pubDate>Thu, 02 Apr 2026 11:06:53 +0800</pubDate><description><![CDATA[DolphinDB 凭借其在高性能时序数据处理、分布式计算和实时流处理方面的突出能力，为金融机构处理和分析海量、高频的股票信息提供了强有力的工具。无论是构建历史数据分析平台、实时行情监控系统、量化策略研究与回测环境，还是进行投资组合管理与风险控制，DolphinDB 都能显著提升数据处理效率和计算能力，助力用户从海量数据中挖掘价值，做出更精准的决策。官方网站提供了详细的文档、教程和示例代码，方便开发者快速入门。]]></description><category></category></item><item><title><![CDATA[Vibe coding对程序员的影响]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159757036</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159757036</guid><author>c3152144837</author><pubDate>Thu, 02 Apr 2026 10:41:20 +0800</pubDate><description><![CDATA[每月投入20%时间探索范式边界，例如用传统语言实现可视化编程解释器，保持技术敏感度与创新能力的平衡发展。]]></description><category></category></item><item><title><![CDATA[在AI时代下，刷LeetCode题的价值与意义]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159582957</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159582957</guid><author>c3152144837</author><pubDate>Tue, 31 Mar 2026 10:59:12 +0800</pubDate><description><![CDATA[重点不再是背诵200道题解，而是掌握如下的核心方法论： $$ \begin{cases} \text{分治思想} & \text{适用于归并排序等} \ \text{状态机模型} & \text{处理字符串匹配} \ \text{图论转化} & \text{将实际问题抽象为图结构} \end{cases} $$例如理解背包问题： $$ dp[i][j] = \max(dp[i-1][j], dp[i-1][j-w_i] + v_i) $$ 这种建模能力在AI无法直接解决的复杂系统设计中至关重要。]]></description><category></category></item><item><title><![CDATA[Qt Network 模块中的 TCP/IP 网络编程详解]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159681252</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159681252</guid><author>c3152144837</author><pubDate>Tue, 31 Mar 2026 10:58:54 +0800</pubDate><description><![CDATA[Qt Network 模块的QTcpServer和QTcpSocket类为开发者提供了高效、便捷的方式来构建基于 TCP/IP 协议的网络应用程序。它们封装了底层 Socket 的复杂性，通过信号与槽机制实现了异步事件驱动模型，使得开发者能够专注于业务逻辑的实现。理解 TCP 协议的特性（如面向连接、可靠性、字节流）以及 Qt 网络类的工作机制（信号、槽、异步 I/O、资源管理）是成功进行 Qt TCP/IP 网络编程的关键。]]></description><category></category></item><item><title><![CDATA[C++/Qt 实习岗位深度解析【结合一次研发实习谈感受】]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159583012</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159583012</guid><author>c3152144837</author><pubDate>Sat, 28 Mar 2026 16:23:16 +0800</pubDate><description><![CDATA[C++/Qt 实习是一个极具挑战但也充满机遇的起点。它要求扎实的技术基础、强烈的求知欲和踏实肯干的态度。通过实习，你不仅能将理论知识转化为实践能力，更能深入了解软件开发的真实世界，为未来的职业发展奠定坚实的基础。提前规划、努力学习、积极实践，是成功获得并利用好这份实习机会的关键。]]></description><category></category></item><item><title><![CDATA[Git的多种仓库选择与推荐]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159582918</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159582918</guid><author>c3152144837</author><pubDate>Sat, 28 Mar 2026 16:17:22 +0800</pubDate><description><![CDATA[根据团队规模、安全需求和协作模式选择仓库平台，建议新项目优先考虑GitHub/GitLab的组合方案，充分利用其$ \frac{\text{功能覆盖度}}{\text{学习成本}} $的最佳平衡点。]]></description><category></category></item><item><title><![CDATA[Git版本控制的多种应用--小组作业【发散思维】]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159582901</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159582901</guid><author>c3152144837</author><pubDate>Sat, 28 Mar 2026 16:16:16 +0800</pubDate><description><![CDATA[$ \text{版本控制} + \text{分支管理} + \text{变更追踪} = \text{协作可靠性} $$用版本管理思维重构协作流程，让每一次修改都有迹可循。：不再纠结“谁改了哪里”，而是专注“如何做得更好”]]></description><category></category></item><item><title><![CDATA[Trae CN AI编码助手使用指南与模型推荐——Free AI的最优解]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159582870</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159582870</guid><author>c3152144837</author><pubDate>Sat, 28 Mar 2026 16:14:25 +0800</pubDate><description><![CDATA[通过合理选择模型并遵循上述规范，Trae CN的AI编码助手可提升40%以上的开发效率，同时降低30%的代码缺陷率。建议新用户从Lite-3B模型开始逐步熟悉工作流程。$$ \text{模型效能} = \frac{\text{参数量}}{\text{响应时间}} \times \log(\text{训练数据量}) $$现代AI编码工具基于大型语言模型（如Transformer架构），通过海量代码数据训练获得代码理解与生成能力。]]></description><category></category></item><item><title><![CDATA[对公司在使用AI编程的思考，我们是牧羊人吗？]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159575578</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159575578</guid><author>c3152144837</author><pubDate>Sat, 28 Mar 2026 10:55:57 +0800</pubDate><description><![CDATA[当全员佩戴"AI牧羊人"徽章的时刻，或许该在墙上铭刻这样的公式： $$ 人类价值 = \int（本能灵感 + 理性批判）dt + \sum（情感联结） $$ 这既是抵御算法驯化的盾牌，也是通向人机共生的罗盘。更吊诡的是，当AI建议的排期与人脑直觉冲突时，$78%$的决策最终屈服于数据羊群的"民主投票"。某游戏公司实践后，创意提案的非常规解决方案比例从$12%$升至$38%$。真正的破局点在于重构价值坐标系：当$产出效率$不再是唯一维度，加入$认知多样性$、$灵感熵值$、$决策容错率$等人类特质参数。]]></description><category></category></item><item><title><![CDATA[C++/Qt 使用 Tushare 获取股票信息]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159512410</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159512410</guid><author>c3152144837</author><pubDate>Thu, 26 Mar 2026 17:54:07 +0800</pubDate><description><![CDATA[tushare作为一个强大的金融数据源，为我的Qt/C++学习项目提供了坚实的数据基础。这个过程不仅让我掌握了tushare的基本用法，更重要的是，它迫使我去思考和实践不同编程语言、不同模块之间的协作方式，极大地提升了解决实际问题的能力。在进行金融量化分析或学习金融市场行为时，获取高质量、结构化的股票数据是至关重要的第一步。作为一个计划将Qt/C++用于金融数据可视化或策略模拟的学习者，我近期深入体验了使用Python库tushare来获取这些基础数据的过程，并思考如何将其融入未来的C++项目中。]]></description><category></category></item><item><title><![CDATA[Qt-Creator如何使用Git【步骤】]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159498732</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159498732</guid><author>c3152144837</author><pubDate>Thu, 26 Mar 2026 11:38:57 +0800</pubDate><description><![CDATA[在这个tools下会有bash/gui操作界面会有很多常用命令，比如说Local Repository的，就是本地仓库，可以在本地仓库提交代码。在这个里面就可以运行正常的git命令，实现版本管理了，每个步骤都会同步到Qt Creator中。3、在该文件夹下打开Git Bash后就可以进到常规的命令行界面。1、使用工具-Git部分新建一个仓库。2、可以选择你喜欢的命令行或者GUI。]]></description><category></category></item><item><title><![CDATA[Qt+FFmpeg 极简播放器示例【音视频方向简单讲解】]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159421138</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159421138</guid><author>c3152144837</author><pubDate>Tue, 24 Mar 2026 12:03:04 +0800</pubDate><description><![CDATA[使用Qt和FFmpegFFmpeg负责底层解码，Qt负责上层界面和渲染。关键步骤包括媒体文件解析、解码器初始化、解码循环、像素格式转换、跨线程图像传递以及音视频同步。这个极简框架提供了一个起点，实际开发中需要在此基础上完善错误处理、用户控制、性能优化和功能扩展。]]></description><category></category></item><item><title><![CDATA[【详细讲解】Qt 内存管理机制：父子对象树、智能指针、内存泄漏排查]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159421107</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159421107</guid><author>c3152144837</author><pubDate>Tue, 24 Mar 2026 12:02:19 +0800</pubDate><description><![CDATA[Qt 提供了父子对象树这一强大的自动化内存管理机制，极大地简化了QObject体系下对象生命周期的管理。对于非QObject对象或需要更灵活所有权管理的场景，智能指针（Qt 的或标准库的）是现代 C++ 中管理内存的利器。然而，任何机制都不能保证绝对避免内存泄漏。掌握 Valgrind、AddressSanitizer 或 Visual Studio 内存诊断工具的使用方法，结合良好的编码实践（明确所有权、注意断开连接、善用QPointer），是有效预防和排查内存泄漏、构建稳定可靠 Qt 应用程序的关键。]]></description><category></category></item><item><title><![CDATA[ Qt 事件循环与事件过滤器讲解【详细】]]></title><link>https://blog.youkuaiyun.com/c3152144837/article/details/159421042</link><guid>https://blog.youkuaiyun.com/c3152144837/article/details/159421042</guid><author>c3152144837</author><pubDate>Tue, 24 Mar 2026 12:00:35 +0800</pubDate><description><![CDATA[Qt 允许创建自定义事件类型（），通过重写或使用通用处理。自定义事件常用于线程间通信或实现特定领域的功能。]]></description><category></category></item></channel></rss>