<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cylar-gg的博客]]></title><description><![CDATA[hello,world]]></description><link>https://blog.youkuaiyun.com/cylar__gg</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cylar__gg]]></copyright><item><title><![CDATA[Qt 动态插件系统&QMetaObject::invokeMethod]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/148581414</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/148581414</guid><author>cylar__gg</author><pubDate>Wed, 11 Jun 2025 11:15:19 +0800</pubDate><description><![CDATA[Qt 的插件系统是其最强大的特性之一，允许应用程序在运行时加载功能模块而无需重新编译。结合，可以实现更加灵活的动态插件系统插件系统通常包含三个核心组件：插件：exampleplugin插件加载：pluginloader这个动态插件系统包含以下关键部分：插件接口定义 ()：插件加载器 (/)：示例插件 (/)：主应用程序 ()：在插件系统中使用有以下优势：在 Qt 项目的文件中， 是一个至关重要的配置选项，它专门用于将项目编译为 Qt 插件。这个选项会触发一系列特殊的编译和链接设置，使项目生成的输出文件符合 ]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/148557523</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/148557523</guid><author>cylar__gg</author><pubDate>Tue, 10 Jun 2025 11:51:08 +0800</pubDate><description><![CDATA[是 Qt 框架中一个非常强大的元对象系统函数，它允许你在运行时动态调用对象的方法，而不需要在编译时知道具体的方法名称。这在很多场景下非常有用，比如线程间通信、插件系统、事件处理等。，你可以实现很多高级功能，比如动态插件系统、跨线程通信、事件处理等，这是 Qt 框架中非常强大的特性之一。下面是几个不同场景下使用。]]></description><category></category></item><item><title><![CDATA[gcc g++的区别]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145903756</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145903756</guid><author>cylar__gg</author><pubDate>Thu, 27 Feb 2025 14:33:09 +0800</pubDate><description><![CDATA[是 GNU 编译器套件中的两个重要工具，它们的核心区别在于。强制所有文件按 C++ 处理，无论扩展名。（C++ 编译器），但传递的默认参数不同。自动链接 C++ 标准库，无需额外操作。编译 C++ 时需手动启用这些特性。默认不链接 C++ 标准库（如。两者都是调用 GCC 的。编译 C 代码时不会。]]></description><category></category></item><item><title><![CDATA[模板实现必须放在头文件中与特殊情况]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145896725</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145896725</guid><author>cylar__gg</author><pubDate>Thu, 27 Feb 2025 10:25:52 +0800</pubDate><description><![CDATA[但可以通过特定技术实现部分分离。这保持了代码的可读性，但本质上实现仍在头文件中。会被编译器实例化，其他类型（如。，可以通过显式实例化将实现放在。时，编译器无法实例化。）仍会引发链接错误。]]></description><category></category></item><item><title><![CDATA[HTTP 和 TCP/IP-傻傻分不清]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145681882</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145681882</guid><author>cylar__gg</author><pubDate>Mon, 17 Feb 2025 14:16:27 +0800</pubDate><description><![CDATA[HTTP 是应用层协议，必须基于 TCP/IP（或其他传输层协议，如 QUIC/HTTP3）才能工作。：TCP 通过四次挥手断开连接（HTTP/1.1 默认启用 Keep-Alive 复用连接）。：TCP/IP 像高速公路和物流系统，HTTP 像快递包裹上的订单信息。：TCP/IP 可支持多种应用层协议（如 FTP、SMTP、SSH）。是构建在 TCP/IP 之上的“应用规则”，定义数据如何交互。HTTP 和 TCP/IP 是计算机网络中不同层次的协议，：认为 HTTP 是替代 TCP/IP 的协议。]]></description><category></category></item><item><title><![CDATA[设计原则名称与缩写统计]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145616681</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145616681</guid><author>cylar__gg</author><pubDate>Thu, 13 Feb 2025 17:30:58 +0800</pubDate><description><![CDATA[在软件设计领域，有许多重要的设计原则，以下为你介绍常见的设计原则及其名称和缩写：=========================================================================]]></description><category></category></item><item><title><![CDATA[TCP/IP 四层模型数据的封装过程]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145616441</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145616441</guid><author>cylar__gg</author><pubDate>Thu, 13 Feb 2025 17:12:16 +0800</pubDate><description><![CDATA[TCP/IP 数据的封装过程是数据在网络中传输时的核心机制，它将数据逐层添加协议头部信息，最终转换为物理层可传输的比特流。：用户应用程序（如HTTP、FTP、SMTP）生成需要传输的数据（例如一个网页请求或电子邮件内容）。IP层添加源IP（192.168.1.100）和目的IP（如203.0.113.5），封装为IP包。以太网层添加源MAC（00:1A:2B:3C:4D:5E）和目的MAC（网关MAC），封装为帧。源IP地址、目的IP地址、TTL（生存时间）、协议类型（TCP/UDP）、校验和等。]]></description><category></category></item><item><title><![CDATA[tcp/ip网络模型]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145611038</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145611038</guid><author>cylar__gg</author><pubDate>Thu, 13 Feb 2025 14:06:54 +0800</pubDate><description><![CDATA[TCP/IP（Transmission Control Protocol/Internet Protocol）是一个协议族，为了便于理解和实现，它采用了分层的体系结构。]]></description><category></category></item><item><title><![CDATA[网络模型分层与对比]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145610899</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145610899</guid><author>cylar__gg</author><pubDate>Thu, 13 Feb 2025 14:05:01 +0800</pubDate><description><![CDATA[OSI（Open Systems Interconnection）模型和 TCP/IP 模型都是用于描述网络通信过程的概念框架，它们有相似之处，但也存在一些明显的差异。]]></description><category></category></item><item><title><![CDATA[TCP/IP 协议]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/145610725</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/145610725</guid><author>cylar__gg</author><pubDate>Thu, 13 Feb 2025 13:54:53 +0800</pubDate><description><![CDATA[TCP/IP 协议（Transmission Control Protocol/Internet Protocol）是一个协议族，它是互联网通信的基础，定义了计算机和网络设备如何连接到互联网以及如何在它们之间传输数据。]]></description><category></category></item><item><title><![CDATA[桥接模式 & 与装饰器模式的比较]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/141123652</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/141123652</guid><author>cylar__gg</author><pubDate>Mon, 12 Aug 2024 10:02:50 +0800</pubDate><description><![CDATA[桥接模式和装饰器模式在设计思想和应用场景上有着明显的区别。桥接模式侧重于结构的解耦，使得不同的实现可以独立变化，而装饰器模式则侧重于功能的扩展，使得对象在运行时可以动态地增加新行为。]]></description><category></category></item><item><title><![CDATA[策略模式和模板方法的区别]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/141113008</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/141113008</guid><author>cylar__gg</author><pubDate>Sun, 11 Aug 2024 22:10:56 +0800</pubDate><description><![CDATA[策略模式是一种行为设计模式，允许在运行时选择算法的行为。它定义了一组算法，将每个算法封装起来，并使它们可以互换。模板方法是一种行为设计模式，定义一个算法的骨架，允许子类在不改变算法结构的情况下重新定义算法的某些特定步骤。目的策略模式：目的是选择算法或行为。模板方法：目的是定义一个算法的整体结构。结构策略模式：算法是通过不同的策略类实现的，它们实现相同的接口。模板方法：算法的结构在基类中定义，子类实现某些部分。灵活性策略模式：策略可以在运行时自由切换。模板方法。]]></description><category></category></item><item><title><![CDATA[6.使用 std::call_once 实现单例模式]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/141098621</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/141098621</guid><author>cylar__gg</author><pubDate>Sun, 11 Aug 2024 00:12:34 +0800</pubDate><description><![CDATA[使用实现单例模式是一个现代且安全的选择，特别是在多线程环境中。相比传统的单例实现方式，它提供了更好的线程安全性和代码简洁性。然而，开发者需要根据具体的需求和环境来选择最合适的实现方法。在 C++11 及其后续版本中，是一种非常优雅且有效的实现单例模式的方法。]]></description><category></category></item><item><title><![CDATA[阿里云盘资源分享-网页开发和设计]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/134330450</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/134330450</guid><author>cylar__gg</author><pubDate>Fri, 10 Nov 2023 12:43:17 +0800</pubDate><description><![CDATA[阿里云盘资源分享-网页开发和设计]]></description><category></category></item><item><title><![CDATA[阿里云盘资源分析-数据结构和算法]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/134330418</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/134330418</guid><author>cylar__gg</author><pubDate>Fri, 10 Nov 2023 12:38:53 +0800</pubDate><description><![CDATA[阿里云盘资源分析-数据结构和算法]]></description><category></category></item><item><title><![CDATA[阿里云盘资源分享-java300集]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/134330338</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/134330338</guid><author>cylar__gg</author><pubDate>Fri, 10 Nov 2023 12:34:40 +0800</pubDate><description><![CDATA[阿里云盘资源分享-java300集]]></description><category></category></item><item><title><![CDATA[QT学习之路]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/127314354</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/127314354</guid><author>cylar__gg</author><pubDate>Fri, 14 Oct 2022 09:53:08 +0800</pubDate><description><![CDATA[QT 学习之路 2 目录。]]></description><category></category></item><item><title><![CDATA[5.C语言中全局变量在多个文件中使用]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/120063015</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/120063015</guid><author>cylar__gg</author><pubDate>Thu, 02 Sep 2021 15:52:19 +0800</pubDate><description><![CDATA[用C语言编写程序的时候，我们经常会遇到这样一种情况：希望在头文件中定义一个全局变量，然后包含到两个不同的c文件中，希望这个全局变量能在两个文件中共用。



举例说明：项目文件夹project下有main.c、common.c和common.h三个文件，其中common.h文件分别#include在main.c和common.c文件中。现在希望声明一个字符型变量key，在main.c和common.c中公用。

有人想，既然是想两个文件都用，那就在common.h中声明一个unsigned char key]]></description><category></category></item><item><title><![CDATA[4.关联容器重载排序运算符，invalid comparator]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/119775717</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/119775717</guid><author>cylar__gg</author><pubDate>Wed, 18 Aug 2021 11:11:23 +0800</pubDate><description><![CDATA[工程中需要将自定义结构作为map的key，于是在自定义结构中重载了默认升序运算符“&lt;”,错误代码如下，问题出在代码中标注的那一行，当第二次向map中插入值时，map内部自动按升序排序，到注释那行崩溃。

原因：升序排列，默认严格模式strict weak ordering，元素相等时必须返回false。


#include &lt;iostream&gt;
#include &lt;algorithm&gt;
#include &lt;map&gt;
using namespace std;
st.]]></description><category></category></item><item><title><![CDATA[3.模板类简单实例]]></title><link>https://blog.youkuaiyun.com/cylar__gg/article/details/119652091</link><guid>https://blog.youkuaiyun.com/cylar__gg/article/details/119652091</guid><author>cylar__gg</author><pubDate>Thu, 12 Aug 2021 19:36:44 +0800</pubDate><description><![CDATA[模板类简单实例

先看代码

1.主程序(.cpp)

#include "Params.h"

#include &lt;iostream&gt;

using namespace std;

int main()

{

int a = 666;

std::string str = "123123";

Params&lt;int, std::string&gt; pms;

pms.Hello(a, str);

return 0;

}

模板类
Param...]]></description><category></category></item></channel></rss>