<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[technologyleader的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/technologyleader</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; technologyleader]]></copyright><item><title><![CDATA[vs 怎么根据dll 生成lib文件]]></title><link>https://blog.csdn.net/technologyleader/article/details/167377257</link><guid>https://blog.csdn.net/technologyleader/article/details/167377257</guid><author>technologyleader</author><pubDate>Fri, 09 Oct 2026 11:43:43 +0800</pubDate><description><![CDATA[Visual   C++   开发工具提供了两个命令行工具，一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。]]></description><category></category></item><item><title><![CDATA[Qt-VLC: 一个集成VLC的开源跨平台媒体播放库]]></title><link>https://blog.csdn.net/technologyleader/article/details/161227808</link><guid>https://blog.csdn.net/technologyleader/article/details/161227808</guid><author>technologyleader</author><pubDate>Tue, 19 May 2026 16:44:05 +0800</pubDate><description><![CDATA[Qt-VLC是一个将 VLC 媒体框架与 Qt 集成的开源库，VLC 是强大的跨平台媒体播放框架，支持几乎所有音视频格式和流媒体协议 ，而 VLC-Qt 则简化了 Qt 与 VLC 的集成，让开发者能快速在 Qt 界面中实现媒体播放功能。VLC-Qt 是对 VLC 核心库（libvlc）的 Qt 封装，提供了 Qt 风格的 API（如 QObject 派生类、信号槽机制），支持：本地 / 网络音视频文件播放（MP4、MKV、MP3 等）；流媒体播放（RTSP、HTTP 流等）；]]></description><category></category></item><item><title><![CDATA[concurrentqueue：一个高并发高性能的C++无锁队列]]></title><link>https://blog.csdn.net/technologyleader/article/details/160215784</link><guid>https://blog.csdn.net/technologyleader/article/details/160215784</guid><author>technologyleader</author><pubDate>Thu, 16 Apr 2026 14:33:52 +0800</pubDate><description><![CDATA[在多线程 编程中，concurrentqueue（并发队列）是一种支持多线程安全访问的队列数据结构，主要用于解决多个线程同时进行 “入队（enqueue）” 和 “出队（dequeue）” 操作时的数据竞争问题，确保线程安全和数据一致性。生产者 - 消费者模型：生产者线程往队列中写入数据，消费者线程从队列中读取数据，通过队列协调线程间的数据传递。任务调度：线程池中的任务队列，多个工作线程从队列中获取任务执行。实现方式1）基于锁的实现（Lock-based）通过互斥锁（mutex。]]></description><category></category></item><item><title><![CDATA[Qt编程：Qt 中常用的宏和函数]]></title><link>https://blog.csdn.net/technologyleader/article/details/160209212</link><guid>https://blog.csdn.net/technologyleader/article/details/160209212</guid><author>technologyleader</author><pubDate>Thu, 16 Apr 2026 11:47:27 +0800</pubDate><description><![CDATA[以下是 Qt 中常用的宏和函数分类详解：作用：启用类的信号槽、属性系统、动态翻译等特性。必须放在类的私有部分，且需要运行 moc（元对象编译器）预处理。示例：


作用：声明类的属性，支持动态访问（通过  和 ）。参数：属性名、类型、读写函数、通知信号等。示例：


作用：标记成员函数可从元对象系统调用（如 QML 或 ）。示例：


信号与槽（Signals & Slots）

作用：声明信号（无需实现，由 moc 生成）。示例：


作用：声明槽函数（可以是 、 或 ）。示例：


作用：触发信号（实际]]></description><category></category></item><item><title><![CDATA[Qt多线程编程]]></title><link>https://blog.csdn.net/technologyleader/article/details/160206182</link><guid>https://blog.csdn.net/technologyleader/article/details/160206182</guid><author>technologyleader</author><pubDate>Thu, 16 Apr 2026 11:23:39 +0800</pubDate><description><![CDATA[在Qt中进行多线程编程，可以利用Qt提供的多种机制和类来简化并发任务的处理。Qt支持C++11及之后的标准中的std::thread，但更推荐使用其自身提供的一些高级抽象，如QThread、QThreadPool、QtConcurrent等，这些工具能够更好地与Qt的事件循环机制集成，并提供了更便捷的任务管理和同步方式。]]></description><category></category></item><item><title><![CDATA[QSerialPort使用详解]]></title><link>https://blog.csdn.net/technologyleader/article/details/159766218</link><guid>https://blog.csdn.net/technologyleader/article/details/159766218</guid><author>technologyleader</author><pubDate>Thu, 02 Apr 2026 17:50:25 +0800</pubDate><description><![CDATA[SerialPort 是 Qt 框架中 Qt Serial Port 模块的核心类，用于在跨平台（Windows , Linux, macOS, QNX 等）环境下进行串行端口（COM 口/TTY）的读写操作。它提供了同步和异步两种操作模式，但在 Qt 开发中，，以避免阻塞主线程（UI 线程）。]]></description><category></category></item><item><title><![CDATA[ IO 流揭秘：高效数据读写的最佳实践]]></title><link>https://blog.csdn.net/technologyleader/article/details/159691322</link><guid>https://blog.csdn.net/technologyleader/article/details/159691322</guid><author>technologyleader</author><pubDate>Tue, 31 Mar 2026 17:40:40 +0800</pubDate><description><![CDATA[如果要支持cin和cout的标准输入输出，]]></description><category></category></item><item><title><![CDATA[c++ std::tuple的用法]]></title><link>https://blog.csdn.net/technologyleader/article/details/159690804</link><guid>https://blog.csdn.net/technologyleader/article/details/159690804</guid><author>technologyleader</author><pubDate>Tue, 31 Mar 2026 16:33:42 +0800</pubDate><description><![CDATA[std::tuple 是C++11引入的一个模板类，它允许将多个不同类型的值组合成一个单一的对象。类似于结构体，但不需要预先定义类型名称。tuple(元组)是一个固定大小的异构值集合，可以包含不同类型的元素。它是 std::pair 的泛化版本，pair 只能保存两个元素，而 tuple 可以保存任意数量的元素。本质是编译期定长、运行时不可变长的“通用结构体”。]]></description><category></category></item><item><title><![CDATA[C++ 模板元编程]]></title><link>https://blog.csdn.net/technologyleader/article/details/159688972</link><guid>https://blog.csdn.net/technologyleader/article/details/159688972</guid><author>technologyleader</author><pubDate>Tue, 31 Mar 2026 16:12:53 +0800</pubDate><description><![CDATA[作用：模板特化是处理泛型编程中 “特殊情况” 的关键工具。它让我们能够为特定的数据类型提供更高效、更安全或逻辑上更正确的实现。函数重载 vs. 函数模板特化：虽然有时可以使用函数重载来达到类似目的，但特化提供了更细粒度的控制，它仍然是同一个模板家族的成员，只是行为被定制。而重载则是定义一个全新的、独立的函数。在某些情况下，编译器选择重载函数比选择特化版本更复杂，因此通常推荐使用特化来处理特定类型。]]></description><category></category></item><item><title><![CDATA[C++11并发支持库 -- 异步 future]]></title><link>https://blog.csdn.net/technologyleader/article/details/159673224</link><guid>https://blog.csdn.net/technologyleader/article/details/159673224</guid><author>technologyleader</author><pubDate>Tue, 31 Mar 2026 10:51:21 +0800</pubDate><description><![CDATA[想象你在主线程启动了一个耗时的计算任务（比如在一个新线程中），std::future 就是主线程用来查询和接收这个任务结果的信封。生产者 (Producer)： 异步任务（在新线程中运行），负责计算结果并将结果或异常放入一个共享状态。消费者 (Consumer)： std::future 对象（在主线程中），负责访问共享状态中的结果。共享状态 (Shared State)对象不直接存储结果，而是引用一个共享状态。任务的结果（如果任务有返回值）。任务执行过程中可能抛出的异常。任务是否已经完成。]]></description><category></category></item><item><title><![CDATA[深入浅出 C++14 新特性与实践]]></title><link>https://blog.csdn.net/technologyleader/article/details/159641381</link><guid>https://blog.csdn.net/technologyleader/article/details/159641381</guid><author>technologyleader</author><pubDate>Mon, 30 Mar 2026 10:56:24 +0800</pubDate><description><![CDATA[C++14 是 C++11 的补充和改进版本，它在 C++11 的基础上进行了一些增强和修复，尤其是在语法、性能和库的使用上。]]></description><category></category></item><item><title><![CDATA[QJSEngine（JavaScript引擎）]]></title><link>https://blog.csdn.net/technologyleader/article/details/159430186</link><guid>https://blog.csdn.net/technologyleader/article/details/159430186</guid><author>technologyleader</author><pubDate>Tue, 24 Mar 2026 17:03:55 +0800</pubDate><description><![CDATA[如果将指向 QStringList 的非空指针传递给它，如果脚本抛出未处理的异常，它将设置为“堆栈帧消息”列表，否则将设置为空列表。当从 C++ 返回时，引擎将中断正常的执行流程并使用包含 message 的错误对象调用下一个预注册的异常处理程序。脚本代码中的非局部变量将被创建为全局对象的属性，以及全局代码中的局部变量。如果给定的对象在引擎控制之外被删除，任何通过 JavaScript 包装对象（通过脚本代码或 C++）访问已删除 QObject 成员的尝试都将导致脚本异常。]]></description><category></category></item><item><title><![CDATA[Qt设置常见窗口背景色几种方式]]></title><link>https://blog.csdn.net/technologyleader/article/details/159417301</link><guid>https://blog.csdn.net/technologyleader/article/details/159417301</guid><author>technologyleader</author><pubDate>Tue, 24 Mar 2026 10:29:07 +0800</pubDate><description><![CDATA[总结qt 常见设置QWidget 类 型窗口背景色几种方式。3、自定义窗口paintEvent。]]></description><category></category></item><item><title><![CDATA[C++ 正则表达式]]></title><link>https://blog.csdn.net/technologyleader/article/details/159282921</link><guid>https://blog.csdn.net/technologyleader/article/details/159282921</guid><author>technologyleader</author><pubDate>Fri, 20 Mar 2026 15:40:32 +0800</pubDate><description><![CDATA[正则表达式（Regular Expression，简称 regex）本质上是用一段特定格式的字符串来定义某种文本模式，通过该模式可检验目标字符串是否符合预设特征。它是处理字符串匹配、检验、替换等操作的高效工具。简单来讲，正则表达式可被视为一种用于字符串模式验证的“规则模板”。例如，正则表达式“ab+”定义的模式为“一个字符'a'后跟随一个或多个字符'b'”，因此字符串“ab”“abb”“abbbbbbbbbb”均符合该模式要求。]]></description><category></category></item><item><title><![CDATA[内存池学习笔记（附C++完整实现）]]></title><link>https://blog.csdn.net/technologyleader/article/details/159282318</link><guid>https://blog.csdn.net/technologyleader/article/details/159282318</guid><author>technologyleader</author><pubDate>Fri, 20 Mar 2026 13:58:25 +0800</pubDate><description><![CDATA[总结内存池是一种预分配内存并进行重复利用的技术，通过减少频繁的动态内存分配与释放操作，从而提高程序运行效率。内存池通常预先分配一块大的内存区域，将其划分为多个小块，每次需要分配内存时直接从这块区域中分配，而不是调用系统的动态分配函数（如new或malloc）。简单来说就是申请一块较大的内存块(不够继续申请)，之后将这块内存的管理放在应用层执行，减少系统调用带来的开销。]]></description><category></category></item><item><title><![CDATA[C++ 基础核心知识]]></title><link>https://blog.csdn.net/technologyleader/article/details/159279960</link><guid>https://blog.csdn.net/technologyleader/article/details/159279960</guid><author>technologyleader</author><pubDate>Fri, 20 Mar 2026 11:41:10 +0800</pubDate><description><![CDATA[指针的适用场景动态内存分配（new/delete）：例如创建动态数组int* arr = new int[10]、自定义类的动态对象；遍历复杂数据结构（链表、树、图）：通过指针移动访问下一个节点node->next，实现灵活的内存遍历；处理可选参数：允许传递nullptr表示“无参数”，适配多场景函数调用；多级间接访问：如指针的指针int** p，适用于二维数组、函数内修改外部指针；函数返回多个值：通过指针将结果输出到函数外部。引用的适用场景。]]></description><category></category></item><item><title><![CDATA[C++ STL 学习笔记]]></title><link>https://blog.csdn.net/technologyleader/article/details/159278652</link><guid>https://blog.csdn.net/technologyleader/article/details/159278652</guid><author>technologyleader</author><pubDate>Fri, 20 Mar 2026 10:41:15 +0800</pubDate><description><![CDATA[vector 性能优化：批量插入前用reserve(n)预分配容量，减少扩容次数；元素删除安全写法：依赖erase返回值更新迭代器，避免迭代器失效；复杂对象优先用 emplace_back：避免临时对象拷贝/移动开销，提升效率；哈希容器优化：通过reserve(n)减少rehash，自定义哈希函数降低冲突；避免过度依赖 vector：中间频繁插删时，list效率远高于vector；]]></description><category></category></item><item><title><![CDATA[C++ 面向对象]]></title><link>https://blog.csdn.net/technologyleader/article/details/159248989</link><guid>https://blog.csdn.net/technologyleader/article/details/159248989</guid><author>technologyleader</author><pubDate>Thu, 19 Mar 2026 17:19:18 +0800</pubDate><description><![CDATA[将类的数据（成员变量）和操作数据的方法（成员函数）打包在一起，通过访问修饰符限制外部对内部数据的直接访问，仅暴露指定接口供外部调用。让一个类（子类/派生类）继承另一个类（父类/基类）的属性和方法，并可在父类基础上扩展新功能，实现代码复用。“同一接口，不同实现”——通过父类指针/引用指向子类对象，调用相同函数时，根据对象的实际类型执行不同逻辑，大幅提升代码扩展性。]]></description><category></category></item><item><title><![CDATA[std::shared_ptr和std::unique_ptr有什么区别？]]></title><link>https://blog.csdn.net/technologyleader/article/details/159203078</link><guid>https://blog.csdn.net/technologyleader/article/details/159203078</guid><author>technologyleader</author><pubDate>Wed, 18 Mar 2026 11:16:11 +0800</pubDate><description><![CDATA[共享所有权：std::shared_ptr 表示共享所有权，允许多个 std::shared_ptr 实例共享同一个对象的所有权。std::shared_ptr 和 std::unique_ptr 都是 C++ 标准库中提供的智能指针，用于管理动态分配的对象的生命周期，但它们之间有一些重要的区别。复制 std::shared_ptr 会增加引用计数，销毁 std::shared_ptr 会减少引用计数。但是，多个 std::shared_ptr 之间的赋值和比较操作仍然是非原子的，需要适当的同步机制。]]></description><category></category></item><item><title><![CDATA[C++11新特性]]></title><link>https://blog.csdn.net/technologyleader/article/details/159202797</link><guid>https://blog.csdn.net/technologyleader/article/details/159202797</guid><author>technologyleader</author><pubDate>Wed, 18 Mar 2026 11:05:02 +0800</pubDate><description><![CDATA[（*）std::weak_ptr的成员函数: use_count（ std::shared_ptr引用个数）、expired(对象是否不存在) 、 reset(重置,弱引用计数减1)、lock(返回std::shared_ptr) =nullptr(弱引用计数减1)..，全局变量、局部静态变量默认捕捉可用。（*）std::mutex、std::timed_mutex、std::recursive_mutex与std::recursive_timed_mutex互斥量类。//还有sleep_until。]]></description><category></category></item></channel></rss>