<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[快乐小半半的博客]]></title><description><![CDATA[no pains no gains]]></description><link>https://blog.youkuaiyun.com/BostonRayAlen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BostonRayAlen]]></copyright><item><title><![CDATA[g++中的常用编译参数（持续更新-编译常见错误）]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/133746459</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/133746459</guid><author>BostonRayAlen</author><pubDate>Tue, 10 Oct 2023 14:35:33 +0800</pubDate><description><![CDATA[centos中g++的常用编译优化参数。]]></description><category></category></item><item><title><![CDATA[c++ 内存管理二：重载（接管内存管理工具）]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/131502719</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/131502719</guid><author>BostonRayAlen</author><pubDate>Sun, 02 Jul 2023 20:34:49 +0800</pubDate><description><![CDATA[重载运算符来自定义内存分配的行为。重载运算符允许我们使用自定义的内存分配逻辑，例如使用池分配、内存池等。]]></description><category></category></item><item><title><![CDATA[c++ 内存管理一：初识内存分配工具]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/131494277</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/131494277</guid><author>BostonRayAlen</author><pubDate>Sat, 01 Jul 2023 23:29:01 +0800</pubDate><description><![CDATA[在C++中，有几种常用的内存分配工具可以帮助进行动态内存管理。从c++应用程序自上而下，通常会有这样的几种分配内存的方式，当然最终都是直接或间接的调用系统的API。侯捷 c++内存管理学习总结笔记。]]></description><category></category></item><item><title><![CDATA[gcc9.4 编译 dpdk20.11.3 avx512 flag引发的编译错误]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/127771812</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/127771812</guid><author>BostonRayAlen</author><pubDate>Wed, 09 Nov 2022 16:17:30 +0800</pubDate><description><![CDATA[gcc9.4.0编译dpdk20.11.3时。avx512 flag引起的编译错误。]]></description><category></category></item><item><title><![CDATA[linux C 简单线程池实现]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/126016062</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/126016062</guid><author>BostonRayAlen</author><pubDate>Thu, 11 Aug 2022 14:01:02 +0800</pubDate><description><![CDATA[线程过多会带来额外的开销，其中包括创建销毁线程的开销、调度线程的开销等等，同时也降低了计算机的整体性能。线程池维护多个线程，等待监督管理者分配可并发执行的任务。这种做法，一方面避免了处理任务时创建销毁线程开销的代价，另一方面避免了线程数量膨胀导致的过分调度问题，保证了对内核的充分利用。...]]></description><category></category></item><item><title><![CDATA[gcc5.4.0 编译时的错误汇总]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/125221951</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/125221951</guid><author>BostonRayAlen</author><pubDate>Sun, 12 Jun 2022 22:43:46 +0800</pubDate><description><![CDATA[在使用高版本的gcc编译gcc5.4.0时会出现的所有错误。]]></description><category></category></item><item><title><![CDATA[DPDK初始化Mellanox失败（mlx5）无法获取VF]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/125202444</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/125202444</guid><author>BostonRayAlen</author><pubDate>Fri, 10 Jun 2022 14:25:24 +0800</pubDate><description><![CDATA[错误如下EAL: VFIO support initialized
EAL: Probe PCI driver: mlx5_pci (15b3:101e) device: 0000:12:01.0 (socket 0)
mlx5_pci: no Verbs device matches PCI device 0000:12:01.0, are kernel drivers loaded?
common_mlx5: Failed to load driver = mlx5_pci.
EAL: Requeste]]></description><category></category></item><item><title><![CDATA[经典c程序100例详解]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/124546061</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/124546061</guid><author>BostonRayAlen</author><pubDate>Wed, 04 May 2022 04:09:56 +0800</pubDate><description><![CDATA[这是我在整理资料时发现的，网上虽然有，但大都不全，且代码有缺省。从csdn中c语言模块问答的问题来看，这里的很多问题都能映射过去。同时利用这次机会把笔记记录下来，温习一遍C语言，其实整个看下来也相当于把c语言的语法知识点也复习了一遍，笔记的话以后在手机上阅读思考也方便，不会的题也能查阅一下。
另外，部分代码我做了修改。
]]></description><category></category></item><item><title><![CDATA[linux rws权限导致的动态库无法加载]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/123878841</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/123878841</guid><author>BostonRayAlen</author><pubDate>Thu, 31 Mar 2022 17:37:12 +0800</pubDate><description><![CDATA[常见的解决方法常常关注于libxxx.so的状态、权限和所处的位置，忽略了 ./xxx可执行文件本身的状态、权限。]]></description><category></category></item><item><title><![CDATA[数据结构-图(c++)]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/123548269</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/123548269</guid><author>BostonRayAlen</author><pubDate>Sat, 26 Mar 2022 01:18:50 +0800</pubDate><description><![CDATA[图在数据结构中有重要作用]]></description><category></category></item><item><title><![CDATA[c c++到底有什么区别]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/122371700</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/122371700</guid><author>BostonRayAlen</author><pubDate>Fri, 07 Jan 2022 20:25:47 +0800</pubDate><description><![CDATA[c和c++本质区别在哪儿？]]></description><category></category></item><item><title><![CDATA[c++ STL]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/122116766</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/122116766</guid><author>BostonRayAlen</author><pubDate>Sat, 25 Dec 2021 14:30:06 +0800</pubDate><description><![CDATA[本文仅仅对stl基本理论以及常用容器、算法进行简单概括，对常用的数据结构使用特点进行了描述，列举了容器的部分API，简述了API用途，方便查阅，对于使用中我所遇见的问题进行了总结，并给出了部分解决建议。]]></description><category></category></item><item><title><![CDATA[关于c语言的16个问题]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/120529131</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/120529131</guid><author>BostonRayAlen</author><pubDate>Wed, 15 Dec 2021 02:00:06 +0800</pubDate><description><![CDATA[C 语言是最佳选择
从2000年5月29日发布至今，SQLite 一直都是用 C 语言实现。C 一直是实现像 SQLite 这类软件库的最佳语言。目前，还没有任何计划要采用另外一门语言对 SQLite 进行重新开发。
]]></description><category></category></item><item><title><![CDATA[QT HTTP请求（get和post）+json解析]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/120031128</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/120031128</guid><author>BostonRayAlen</author><pubDate>Wed, 01 Sep 2021 02:48:58 +0800</pubDate><description><![CDATA[1、get

  QNetworkAccessManager *smsManager = new QNetworkAccessManager(this);
  QString url = "http://123.56.81.6:8080/api/smsCode";
  QNetworkRequest *Request = new QNetworkRequest(QUrl(url));
  Request -&gt;setRawHeader(QByteArray("SESSION-ID"),_p-&gt;m_]]></description><category></category></item><item><title><![CDATA[QT5 quazip解压缩文件-开发环境搭建（最详细）]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/120024623</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/120024623</guid><author>BostonRayAlen</author><pubDate>Tue, 31 Aug 2021 21:36:22 +0800</pubDate><description><![CDATA[1、编译zlib
下载源码：https://www.zlib.net/zlib-1.2.11.tar.gz
解压：

根据你自己安装的vs选择vc版本

打开vs工程

我这里是vs2017。加载时候会提示你把项目提升为2017的项目。如果没有选择，也可以手动修改。注意我编译的是x64.




编译成功后，如下图

2、编译quazip
提前安装好Qt5，和QtCreator，选择安装MSVC2015和MSVC2017的编译器。
下载我配置好的QtCreator的pro项目
链接：https://pan.]]></description><category></category></item><item><title><![CDATA[常用设计模式（原型模式）-c++版]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/119214231</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/119214231</guid><author>BostonRayAlen</author><pubDate>Thu, 29 Jul 2021 16:25:42 +0800</pubDate><description><![CDATA[1、场景
需要从A的实例得到一份与A内容相同，但是又互不干扰的实例的话，就需要使用原型模式
原型模式和建造者模式、工厂方法模式一样，都属于创建型模式的一种。简单的来说，我们使用原型模式，就是为了创建对象。但是，在以下场景下，使用原型模式是最好的选择：
当我们的对象类型不是开始就能确定的，而这个类型是在运行期确定的话，那么我们通过这个类型的对象克隆出一个新的对象比较容易一些；
当我们需要一个对象在某个状态下的副本，此时，我们使用原型模式是最好的选择；例如：一个对象，经过一段处理之后，其内部的状态发生了变化；这]]></description><category></category></item><item><title><![CDATA[常用设计模式（单件模式-工厂模式demo）-c++版]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/119210053</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/119210053</guid><author>BostonRayAlen</author><pubDate>Thu, 29 Jul 2021 16:07:15 +0800</pubDate><description><![CDATA[1、定义
保证一个类仅有一个实例，并提供该实例的全局访问点。
2、示例
原始的单例模式
单例模式要做如下事情：
不能通过构造函数构造，否则就能够实例化多个。构造函数需要私有声明
保证只能产生一个实例
下面是一个简单的实现：
class Singleton
{
  private:
    static Singleton *instance;
    Singleton(){};

  public:
    static Singleton *getInstance()
    {
        if ]]></description><category></category></item><item><title><![CDATA[常用设计模式（装饰模式）-c++版]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/118970443</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/118970443</guid><author>BostonRayAlen</author><pubDate>Wed, 21 Jul 2021 17:23:05 +0800</pubDate><description><![CDATA[1、动机
（a）在某些情况下我们可能会“过度地使用继承来扩展对象的功能”，由于继承为类型引入的静态特质，使得这种扩展方式缺乏灵活性；并且随着子类的增多（扩展功能的增多），各种子类的组合（扩展功能的组合）会导致更多子类的膨胀。
（b）如何使“对象功能的扩展”能够根据需要来动态地实现？同时避免“扩展功能的增多”带来的子类膨胀问题？从而使得任何“功能扩展变化”所导致的影响将为最低？
2、定义
单一职责模式，动态（组合）地给一个对象增加一些额外的职责。就增加功能而言，Decorator模式比生成子类（继承）更为灵活]]></description><category></category></item><item><title><![CDATA[常用设计模式（观察者模式）-c++版]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/118968280</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/118968280</guid><author>BostonRayAlen</author><pubDate>Wed, 21 Jul 2021 16:42:15 +0800</pubDate><description><![CDATA[1、动机
（a）在软件构建过程中，我们需要为某些对象建立一种“通知依赖关系” ——一个对象（目标对象）的状态发生改变，所有的依赖对象（观察者对象）都将得到通知。如果这样的依赖关系过于紧密，将使软件不能很好地抵御变化。
（b）使用面向对象技术，可以将这种依赖关系弱化，并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。
2、定义
定义对象间的一种一对多（变化）的依赖关系，以便当一个
对象(Subject)的状态发生改变时，所有依赖于它的对象都
得到通知并自动更新。
3、示例
注意：这里是伪代码
场景：做一]]></description><category></category></item><item><title><![CDATA[设计模式介绍及面向对象设计原则]]></title><link>https://blog.youkuaiyun.com/BostonRayAlen/article/details/118969246</link><guid>https://blog.youkuaiyun.com/BostonRayAlen/article/details/118969246</guid><author>BostonRayAlen</author><pubDate>Wed, 21 Jul 2021 16:28:09 +0800</pubDate><description><![CDATA[1、设计模式达到的目标
（a）理解松耦合设计思想
（b）掌握面向对象设计原则
（c）掌握重构技法改善设计
（d）掌握GOF 核心设计模式
2、什么是设计模式
Christopher Alexander:
“每一个模式描述了一个在我们周围不断重复发生的问题，
以及该问题的解决方案的核心。这样，你就能一次又一次
地使用该方案而不必做重复劳动”
3、GOF 设计模式
• 历史性著作《设计模式：可复用面向对象软
件的基础》一书中描述了23种经典面向对象
设计模式，创立了模式在软件设计中的地位。
• 由于《设计模式》]]></description><category></category></item></channel></rss>