自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

快乐小半半的博客

no pains no gains

  • 博客(68)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 g++中的常用编译参数(持续更新-编译常见错误)

centos中g++的常用编译优化参数。

2023-10-10 14:35:33 542 3

原创 c++ 内存管理二:重载(接管内存管理工具)

重载运算符来自定义内存分配的行为。重载运算符允许我们使用自定义的内存分配逻辑,例如使用池分配、内存池等。

2023-07-02 20:34:49 562

原创 c++ 内存管理一:初识内存分配工具

在C++中,有几种常用的内存分配工具可以帮助进行动态内存管理。从c++应用程序自上而下,通常会有这样的几种分配内存的方式,当然最终都是直接或间接的调用系统的API。侯捷 c++内存管理学习总结笔记。

2023-07-01 23:29:01 523

原创 gcc9.4 编译 dpdk20.11.3 avx512 flag引发的编译错误

gcc9.4.0编译dpdk20.11.3时。avx512 flag引起的编译错误。

2022-11-09 16:17:30 1060 2

原创 linux C 简单线程池实现

线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开销的代价,另一方面避免了线程数量膨胀导致的过分调度问题,保证了对内核的充分利用。...

2022-08-11 14:01:02 426

原创 gcc5.4.0 编译时的错误汇总

在使用高版本的gcc编译gcc5.4.0时会出现的所有错误。

2022-06-12 22:43:46 2708 1

原创 DPDK初始化Mellanox失败(mlx5)无法获取VF

错误如下EAL: VFIO support initializedEAL: 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

2022-06-10 14:25:24 4956

原创 经典c程序100例详解

这是我在整理资料时发现的,网上虽然有,但大都不全,且代码有缺省。从csdn中c语言模块问答的问题来看,这里的很多问题都能映射过去。同时利用这次机会把笔记记录下来,温习一遍C语言,其实整个看下来也相当于把c语言的语法知识点也复习了一遍,笔记的话以后在手机上阅读思考也方便,不会的题也能查阅一下。另外,部分代码我做了修改。

2022-05-04 04:09:56 8056 4

原创 linux rws权限导致的动态库无法加载

常见的解决方法常常关注于libxxx.so的状态、权限和所处的位置,忽略了 ./xxx可执行文件本身的状态、权限。

2022-03-31 17:37:12 5072

原创 数据结构-图(c++)

图在数据结构中有重要作用

2022-03-26 01:18:50 6861 2

原创 c c++到底有什么区别

c和c++本质区别在哪儿?

2022-01-07 20:25:47 693 2

原创 c++ STL

本文仅仅对stl基本理论以及常用容器、算法进行简单概括,对常用的数据结构使用特点进行了描述,列举了容器的部分API,简述了API用途,方便查阅,对于使用中我所遇见的问题进行了总结,并给出了部分解决建议。

2021-12-25 14:30:06 1329 1

原创 关于c语言的16个问题

C 语言是最佳选择从2000年5月29日发布至今,SQLite 一直都是用 C 语言实现。C 一直是实现像 SQLite 这类软件库的最佳语言。目前,还没有任何计划要采用另外一门语言对 SQLite 进行重新开发。

2021-12-15 02:00:06 2798

原创 QT HTTP请求(get和post)+json解析

1、get QNetworkAccessManager *smsManager = new QNetworkAccessManager(this); QString url = "http://123.56.81.6:8080/api/smsCode"; QNetworkRequest *Request = new QNetworkRequest(QUrl(url)); Request ->setRawHeader(QByteArray("SESSION-ID"),_p->m_

2021-09-01 02:48:58 5180 11

原创 QT5 quazip解压缩文件-开发环境搭建(最详细)

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.

2021-08-31 21:36:22 708

原创 常用设计模式(原型模式)-c++版

1、场景需要从A的实例得到一份与A内容相同,但是又互不干扰的实例的话,就需要使用原型模式原型模式和建造者模式、工厂方法模式一样,都属于创建型模式的一种。简单的来说,我们使用原型模式,就是为了创建对象。但是,在以下场景下,使用原型模式是最好的选择:当我们的对象类型不是开始就能确定的,而这个类型是在运行期确定的话,那么我们通过这个类型的对象克隆出一个新的对象比较容易一些;当我们需要一个对象在某个状态下的副本,此时,我们使用原型模式是最好的选择;例如:一个对象,经过一段处理之后,其内部的状态发生了变化;这

2021-07-29 16:25:42 326

原创 常用设计模式(单件模式-工厂模式demo)-c++版

1、定义保证一个类仅有一个实例,并提供该实例的全局访问点。2、示例原始的单例模式单例模式要做如下事情:不能通过构造函数构造,否则就能够实例化多个。构造函数需要私有声明保证只能产生一个实例下面是一个简单的实现:class Singleton{ private: static Singleton *instance; Singleton(){}; public: static Singleton *getInstance() { if

2021-07-29 16:07:15 232

转载 常用设计模式(装饰模式)-c++版

1、动机(a)在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。(b)如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?2、定义单一职责模式,动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活

2021-07-21 17:23:05 131

原创 常用设计模式(观察者模式)-c++版

1、动机(a)在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。(b)使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。2、定义定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(Subject)的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。3、示例注意:这里是伪代码场景:做一

2021-07-21 16:42:15 153 3

转载 设计模式介绍及面向对象设计原则

1、设计模式达到的目标(a)理解松耦合设计思想(b)掌握面向对象设计原则(c)掌握重构技法改善设计(d)掌握GOF 核心设计模式2、什么是设计模式Christopher Alexander:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”3、GOF 设计模式• 历史性著作《设计模式:可复用面向对象软件的基础》一书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位。• 由于《设计模式》

2021-07-21 16:28:09 190

原创 常用设计模式(策略模式)-c++版

1、动机(a)在软件构建过程中,某些对象使用的算法可能多种多样,常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。(b)如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题?2、定义定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。3、举例有这样一个场景,我们需要计算中国、美国、德国的国家税法,有一个SalesOrder类,我

2021-07-19 16:46:51 126

原创 基于TCP的Qt网络通信

使用 Qt 提供的类进行套接字通信比使用标准 C API 进行网络通信要简单(因为在内部进行了封装)原始的 TCP 通信流程 Qt 中的套接字通信流程如下:1 服务器端1.1 通信流程创建套接字服务器 QTcpServer 对象通过 QTcpServer 对象设置监听,即:QTcpServer::listen()基于 QTcpServer::newConnection() 信号检测是否有新的客户端连接如果有新的客户端连接调用 QTcpSocket *QTcpServer::nextPending

2021-07-16 15:49:41 403 5

原创 C++11 常见使用特性(三)

本文详细描述了c++11的时间日期类、thread的使用、锁(lock)、条件变量、原子变量等的使用注意事项。

2021-07-05 14:30:00 579 2

原创 C++11常见使用特性(二)

本文详细描述了c++11的右值引用和智能指针的原理,以及使用。

2021-07-01 17:44:46 271 2

原创 C++11 常见使用特性(一)

本文详细描述了c++11的新增的某些关键字的介绍,以及怎么相互搭配使用。

2021-06-30 21:02:20 627 4

原创 MFC CListCtrl解决闪烁问题(采坑无数)

https://blog.csdn.net/jiangqin115/article/details/44904085https://my.oschina.net/laopiao/blog/99320https://bbs.csdn.net/topics/100134274此几处虽介绍了几种方法,但实际并不好用。中间踩坑过程我不赘述了。这里要注意CListCtrl与CMFCListCtrl有所区别,区别在于CListCtrl的GetHeaderCtrl()返回的是指针,而CMFCListCtrl的Get

2021-06-29 03:40:14 1022

原创 python3.8.4配置爬虫开发环境(pip21.1.1)

1、在官网下载python3.8.4https://www.python.org/downloads/release/python-384/2、安装后设置环境变量win+R输入cmd,enter输入python,查看版本。3、下载pip21.1.1。https://pypi.org/project/pip/。4、进入pip目录。cmd执行python setup.py遇到错误:No module named setup tool进入https://www.cnblogs.com/

2021-05-18 01:29:58 502

转载 Ubuntu18.04安装GCC8.3.0

转自:https://blog.csdn.net/bjzhaoxiao/article/details/102525241Ubuntu系统是自带GCC安装指令的apt install gcc,当前apt源中gcc版本为5.4.0,版本太低,推荐手动安装gcc8.3.0手动安装gcc8.3.0之前需要先确保安装gcc环境依赖GMP 4.2+ 、 MPFR 2.3.1+ 、 MPC 0.8.0+,否则会报出以下错误configure: error: Building GCC requires GMP 4.

2021-03-19 17:35:04 4264 5

转载 boost读取xml文件

参考:https://www.2cto.com/kf/201210/162103.htmlconf.xml<?xml version="1.0" encoding="utf-8"?><root> <strage name="asd" alias="13" classId="13.22">r <id>12</id> ...

2020-02-29 18:34:03 553 1

原创 Win-服务器端 IOCP模型

1、IOCP概念输入输出完成端口(Input/()utputCompletionPort,IOCP),是支持多个同时发生的异步1/0操作的应用程序编程接口,在WindowsNT的3.5版本以后,或AIX5版以后或Solaris第十版以后,开始支持。IOCP特别适合c/s模式网络服务器端模型。因为,让每一个socket有一个线程负责同步(阻塞)数据处理,one-thread-per-client...

2019-12-30 20:39:33 611

原创 计算服务器架构模式与UDP CS模式

客户端连接到服务器端后,以1字节整数形式传递等待计算数学个数:客户端向服务器传递的每个整数型数据占用4个字节;传递整数型数据后接着传递运算符,运算符信息占用1字节:选择字符+一*传递;服务器端以4个字节整数型向客户端传回运算符结果:客户端得到运算结果后终止与服务器的连接:UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应...

2019-12-18 22:53:14 377

原创 Linux TCP迭代回声服务器与客户端模式

tcp协议栈如下组成,通过tcp/udp套接字收发数据时需借助这四层操作通过因特网完成有效数据传输,此课题许多专家聚集,这些人是硬件、系统、路由算法等各方面领域的顶级专家构建硬件系弃一一>通过软件实现各种上算法。标准本身就在于对外公开,引导更多的人去遵守规范。路由器用来完成IP层交互任务。5、链路层链路层是物理链接领域标准化的结果,也是最基本的领域,专门定义LANWANMAN...

2019-12-04 21:52:08 825

原创 Linux-Soket网络编程及套接字(服务器发给客户端)

1、socket函数int socket(int domain,int type,int protocol);功能说明:调用成功,返回socket文件描述符;失败,返回一1,并设置errno参数说明:domain指明所使用的协议族,通常为PF_INET,表示TCP引P协议;呼pe参数指定sket的类型,基本上有三种:数据流套接字、数据报套接字、原始套接字protocol通常賦值"0...

2019-12-03 22:09:26 321

转载 C++如何正确使用智能指针?看完这4个点你就明白了

转自:https://www.toutiao.com/i6744265558922887694/?tt_from=dingtalk&utm_campaign=client_share&timestamp=1570943692&app=news_article&utm_source=dingtalk&utm_medium=toutiao_ios&re...

2019-11-18 23:38:15 588 1

原创 C++ 实现统计vector中各个元素的个数(去重)

简单说一下代码。函数用函数模板,泛型编程,提高了复用性,缺点是double类型一般比较会有一个误差值。check就不详细说了,可看main函数使用示例。#include <iostream>#include <vector>#include <string>#include <map>using namespace std;temp...

2019-10-20 21:11:05 12542

原创 线索化二叉树

祖国70岁生日快乐学习不停线索二叉树:普通二叉树只能找到结点的左右孩子信息,而该结点的直接前驱和直接后继只能在遍历过程中获得若将遍历后对应的有关前驱和后继预存起来,则从第一个结点开始就能很快“顺藤摸瓜”而遍历整个树。1)若结点有左子树,则lchild指向其左孩子;否则, lchild指向其直接前驱(即线索);2)若结点有右子树,则rchild指向其右孩子;否则, rchild指向其直...

2019-10-01 19:52:31 385

原创 windows Hook技术 限制鼠标仅能在指定区域活动

hook (Windows系统机制)• Hook是Windows中提供的一种用以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。• 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口...

2019-08-17 10:16:26 1101 1

原创 林锐高质量c++问题总结

1 零值比较**2 sizeof3 循环语句效率4 为什么需要常量5 const与#define6 函数参数7 Getchar()8 函数返回值9 断言assert10 引用与指针11 引用的作用12 内存分配方式13 指针与数组14 野指针15 new与malloc16 同名17 赋值与拷贝18 虚函数生命历程19 初始化列表...

2019-08-04 22:47:51 352 1

原创 二叉树遍历(前、中、后)

先讲解图中几种遍历:其实每种遍历的规则都是针对于节点来说,即每个节点需要满足相应的规则。先序遍历:顺序为根、左、右,则每个节点需满足此条件。从整体来看,毫无疑问A是根节点,那么之后是左边B,我们需要将B所有后代遍历完整体才是左,那么对于B则又需要遵从此规则,即B、D、E,而因为此时E有子节点,那么对于E而言,则是E、H,所以根、左边遍历完成是A、B、D、E、H,那么右边也是同样道理,根、左...

2019-07-11 15:53:15 306

原创 c++ 链队基本操作案例

// 队列的链式存储结构 #include <iostream>#include <fstream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -1typedef char QElemType;typedef char SElemType;typedef int St...

2019-06-23 14:09:03 528

基于TCP的Qt网络通信

QT 通信demo

2021-07-16

DCI format - DCI.zip

5g DCI解析工具 包含DCI0-0、DCI0-1、DCI1-0、DCI1-1的解码 输入字节流,解出对应字段的内容 如0-0中。 Nrb_dl_bwp 48 payload bitstring 11010100101110101111111 频域资源分配 11 11010100101 时域资源分配" 4 1101 VRB-to-PRB映射 1 0 调制编码方案 5 11111 TB扩展 2 11

2021-07-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除