自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小米的修行之路

是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。

  • 博客(39)
  • 资源 (62)
  • 收藏
  • 关注

原创 boost库随机数使用详解

1、随机数发生器:产生随机数。boost提供了30多个随机数发生器,比较常用的:rand48、mt19937、lagged_fibonacci19937,示例中使用mt19937随机数发生器;2、随机数分布器:用来和随机数发生器相配合,产生符合某个特定的区域或符合某种分布的随机数。比如产生0~100之间的随机数等等。3、上面说的几个产生的都是伪随机数,并不是真正的随机数,而是在一个非常大的...

2020-03-29 17:50:45 4431

原创 boost摘要算法

1、加密过程不需要密匙,并且经过加密的数据无法被解密;2、相同的明文数据经过相同的消息摘要算法得到的是相同的密文;3、无论输入的消息有多长,计算出来的消息摘要的长度总是固定的;4、应用领域:防信息篡改、身份鉴定等;5、主要摘要算法:MD系列、SHA系列等等。6、boost库中的SHA1摘要算法:如何得到消息的摘要;如何将得到摘要转换为字符串。示例:#include &lt...

2020-03-29 11:23:41 446

原创 boost生成UUID

1、UUID也就是全球唯一标识符。2、如何得到一个UUID,如何使用得到的UUID,示例如下:#include <iostream>#include <boost/lexical_cast.hpp>#include <boost/uuid/uuid.hpp>#include <boost/uuid/uuid_generators.hpp&g...

2020-03-28 22:30:41 4168

原创 boost::singleton_pool使用

1、与pool接口完全一致,可为简单的POD数据类型分配 内存指针;2、它是一个单件,与整个程序的生命周期一样长;3、singleton_pool是线程安全的。4、主要接口:5、简单示例:#include <iostream>#include <boost/thread.hpp>#include <boost/chrono.hpp&...

2020-03-27 09:47:10 1356

原创 boost::object_pool使用

1、boost::object_pool是用于类实例的内存池,析构时对所有已经分配的内存块调用析构函数。2、常用函数construct从内存池中创建一块对象内存,最多支持三个参数;destroy()用来销毁对象。3、函数调用失败不会抛出异常,会返回空指针,所以我们可以使用空指针进行判断是否成功。4、示例:#include <iostream>#include &lt...

2020-03-26 21:26:54 1603

原创 boost::pool内存池使用

1、boost::pool只能作为普通数据类型的内存池,如int、double等,因为他只分配内存,不调用构造函数。2、如果内存分配失败,不抛异常,我们应该判断返回的指针是不是nullptr,防止空指针错误。3、我们一般不应该手工调用free()等释放内存的函数,应该交给内存池自动进行管理。如果你确定内存池 的空间不够,这是你可以调用malloc()对应的free()函数,释放一些已经分配...

2020-03-26 11:44:25 1088

原创 boost/property_tree/ptree读取ini配置文件

1、测试的ini文件:[SYSTEM]CamNum=2PicPath=D:\data......[Cam1]......[Cam2]......2、示例:#include <iostream>#include <boost/property_tree/ptree.hpp>#include <boost/property_tree/i...

2020-03-25 16:39:51 810

原创 boost遍历查找文件

示例:#include <iostream>#include <boost/filesystem.hpp>#include <boost/optional.hpp>#include <boost/xpressive/xpressive_dynamic.hpp>//使用正则表达式进行模糊文件查找std::vector<boost...

2020-03-24 14:35:06 857

原创 boost::filesystem文件相关操作

1、主要有:判断文件状态、获取文件属性、文件的基本操作2、每个函数都有两种类型:(1)、抛出异常;(2)、返回错误码;3、详细操作示例:#include <iostream>#include <fstream>#include <boost/filesystem.hpp>#include <boost/filesystem/fs...

2020-03-23 23:15:03 1153

原创 boost::filesystem::path路径信息相关操作

1、主要内容:路径信息的构造、路径信息的拆分、路径信息的修改。2、示例:#include <iostream>#include <boost/filesystem.hpp>int main(){ //路径信息:boost::filesystem::path //构造函数:不验证路径的有效性、不判断文件或目录是否存在 boost::filesystem...

2020-03-23 14:57:19 1332

原创 string字符串操作封装

#pragma once#include <iostream>#include <string>#include <vector>#ifdef _UNICODE#define string_t std::wstring#else#define string_t std::string#endif#define CODE_CONVERT_...

2020-03-22 14:40:56 528

原创 boost正则表达式

1、语法:(1)、点号 . 可以匹配任意的单个字符,是单字符的通配符;(2)、^匹配行的开头;(3)、$匹配行的末尾;(4)、小括号()用于定义一个正则表达式的子表达式,匹配字符串的子串;(5)、*表示前面的元素可以重复任意多次(n >= 0);(6)、+表示前面的元素可以重复一次或多次(n > 0);(7)、{}可以手工指定重复元素的次数:{n}重复n次,...

2020-03-21 16:02:38 640

原创 boost::string_algo库详解

1、boost::string_algo是一个字符串算法库,为std::string字符串提供了大量实用的算法,比如:查找、分割、合并、替换、删除等等,是为string服务的。2、string_algo库中的算法函数命名规则如下:(1)、带有前缀i的函数:表明此算法对字符串的大小写不敏感,否则算法对字符串的大小写敏感;(2)、带有后缀_copy的函数:表明处理结束后,原字符串不变,返回...

2020-03-20 21:27:28 560

原创 boost::string_ref使用详解

1、string_ref不分配内存,不对字符串进行拷贝,通过其内部的两个成员变量ptr_和len_标记字符串的起始位置和字符串的长度,实现了字符串的表示,所以效率很高。2、一般情况下,我们使用string_ref只是去观察字符串,而不是去修改字符串。3、在使用string_ref期间,我们应该保证被引用的原始字符串对象可用,不能销毁。如果我们确实需要持有字符串,可以调用成员函数to_str...

2020-03-20 11:18:28 1633

原创 boost::format字符串的格式化操作

1、简单示例:#include <iostream>#include <boost/format.hpp>int main(){ //模仿经典的printf格式化 //%05d: 输出宽度为5的整数,不足用0填充 //%-8.3f: 输出左对齐,总宽度为8,小数位为3位的浮点数 //% 10s :输出10位的字符串,不足用空格填充 //%05X...

2020-03-19 22:37:19 483

原创 boost::lexical_cast数值转换

1、简单实用示例:#include <iostream>#include <boost/lexical_cast.hpp>template<typename T>class outable{ friend std::ostream& operator<<(std::ostream& os, const T& ...

2020-03-19 20:36:26 319

原创 boost::date_time中将英文月份输出为汉字

1、boost的date_time库中的月份默认都是用英文来表示的,如Mar是3月。。。,有时我们想输出如下格式的时间到文件中:2020-03-17 22:41:08 899412,下面给出格式化输出方法:#include <iostream> #include <boost/date_time/posix_time/posix_time.hpp>std::st...

2020-03-17 22:44:32 358

原创 Boost::date_time时间的处理

1、date_time库提供微秒级别时间处理.如果需要,如果在#include <boost/date_time/posix_time/posix_time.hpp>之前定义宏:BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG,则最高可达到纳秒级别的精确度。2、time_duration的子类:hours、minutes、seconds、millisec/...

2020-03-17 16:55:30 423

原创 Boost::date_time日期的操作

1、日期对象的创建:#include <iostream>#include <boost/date_time/gregorian/gregorian.hpp> //日期库int main(){ //创建一个日期对象 //默认构造函数创建一个无效日期 boost::gregorian::date d; std::cout << d <...

2020-03-17 12:38:38 323

原创 boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。3、主要接口:4、实现一个生产者---消费者模式示例:#inc...

2020-03-15 22:28:58 471

原创 boost::bimap使用详解

1、特点:(1)、双向映射容器,类似于map(单向映射容器),而又不同于map;(2)、bimap既可以通过key来进行搜索,有可以通过value来进行搜索;(3)、一个bimap相当于内部包含left和right两个map类型的容器;(4)、对于一个bimap<x,y>,其左视图bimap.left相当于map<x,y>,右视图bimap相当于map&lt...

2020-03-15 20:11:26 2103

原创 boost::unordered_map使用详解

1、特点:(1)、unordered_map中的元素是无序的,其插入位置由根据键计算出的Hash值决定;(2)、unordered_map中的元素键是不能相同的;(3)、使用[]插入时,如果键不存在,会直接插入,如果键已存在,会更改键所对应的值。使用()插入时,如果键不存在,会发出异常,如果键存在,会更改键对应的值;(4)、使用自定义的类型作为键,必须重写==操作符,同时必须自己实...

2020-03-15 17:20:35 2800 1

原创 boost::unordered_set使用详解

1、先说下STL::set的特点:set是以特点顺序存储相异元素的容器,所以:(1)、在set中插入或赋值时会自动排序;(2)、存储在set中的元素是不相同的;(3)、不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,再插入新元素;2、boost::unordered_set主要特点:(1)、无序,在插入或是赋值时不会自动排序;(2)、存储在u...

2020-03-15 00:45:46 2029

原创 boost::array常用操作

1、boost::array是一个跟 C++ 里传统的数组有着相同属性的容器;2、boost::array与stl::vector的区别是不会动态增长,是定长的,所以对于模拟静态数组的需求来说,boost::array有更好的效率;3、at和[]的主要区别是:at可以用try...catch方法, 获取抛出的异常,[]只会抛出assert错误。4、boost::array的常用使用接口...

2020-03-14 22:54:51 791

原创 boost---互斥量详解

1、互斥量用于线程同步,boost提供了多种互斥量,只对重要的几个进行说明:(1)、mutex:接口:boost库程序开发指南上说try_lock_for()等只属于timed_mutex互斥量,经过试验,mutex也满足这样的接口_(boost库版本:1.70.0)。也就是以上5个关于锁的接口,mutex都是满足的。简单测试代码:#include <iostream...

2020-03-14 16:10:47 448

原创 boost---condition_variable条件变量使用详解

1、条件变量是一种用于等待的同步机制,可以实现线程间通信,它必须与互斥量配合使用。2、boost::thread提供的两种条件变量对象:(1)、condition_variable;(2)、condition_variable_any。他们的区别是:(1)、condition_variable只能配合boost::mutex互斥量;(2)、condition_variable_any可以适应更...

2020-03-13 14:46:19 2462

原创 boost---atomic原子操作使用

1、boost提供了跨平台的原子操作功能,简化我们在并发环境中读写变量。下面的示例展示了最长用的原子操作。// ConcurrentProgram_Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <boost/atomic.hpp>#include &lt...

2020-03-12 22:14:53 1643

原创 boost---多线程详解

boost的多线程和stl很类似,使用起来非常简单。1、boost::thread常用接口的使用:2、boost::thread多线程的辅助类:thread_guard、scoped_thread3、线程中断:我们可以:判断当前线程是否允许中断、关闭中断、临时恢复中断、检测当前线程是否要被中断、发出中断信号等操作。线程中断发生必须满足三个条件:(1)、...

2020-03-12 14:55:59 547

原创 boost---无锁队列(单生产者、单消费者)

1、函数接口使用说明:https://www.boost.org/doc/libs/1_70_0/doc/html/boost/lockfree/spsc_queue.html2、示例:#include <iostream>#include <mutex>#include <condition_variable>#include <boos...

2020-03-10 16:34:34 935

原创 boost---使用无锁队列(多生产者/多消费者)

一、构造一个无锁队列:boost::lockfree::queue:1、第一个参数标识队列中元素类型;2、第二个参数用来协助配置boost::lockfree::queue:(1)、boost::lockfree::fixed_sized是否为固定大小。默认是boost::lockfree::fixed_sized<false>,表示当你调用push时,如果此时已经没有空间...

2020-03-10 11:06:58 3320

原创 boost---signals2使用详解

1、signals2实现了线程安全的“观察者模式”,也称作:信号---插槽,他是一种函数的回调机制,当信号发出时,相应的槽函数会被调用,有点类似于QT中的信号槽。2、特点:(1)、一个信号可以与多个插槽函数绑定;(2)、一个信号与多个插槽函数绑定时,插槽函数可以设置自己被调用的顺序:boost::signals2::at_front、boost::signals2::at_back;...

2020-03-09 20:23:43 3158

原创 boost---计时器

一、1、boost不建议使用:#include <boost/timer.hpp> boost::timer2、缺点:(1)、计时精度低,最小毫秒;(2)、计时最大时间短,只偶遇596个小时左右。3、boost::progress_timer析构时自动输出计时时间。4、示例:// Timer_Test.cpp : 此文件包含 "main" 函数。程序...

2020-03-09 11:56:33 504

原创 boost---ptr_vector指针容器各种操作详解

1、类似容器:boost::ptr_vector,boost::ptr_deque,boost::ptr_list,boost::ptr_set,boost::ptr_map,boost::ptr_unordered_set,boost::ptr_unordered_map。2、主要说明boost::ptr_vector的用法,特点:(1)、boost::ptr_vector专...

2020-03-08 17:23:28 1429

原创 boost---介入式指针intrusive_ptr

1、特点:(1)、介入式指针的工作方式和共享指针完全一样,但对介入式指针来说,程序员就得自己来控制引用计数;(2)、boost::shared_ptr的一大陷阱是用一个raw pointer多次创建boost::shared_ptr,这将导致该raw pointer被多次销毁,但boost::intrusive_ptr可以利用raw pointer创建多个intrusive _ptr,示例...

2020-03-08 00:55:22 852

原创 boost---弱指针weak_ptr

1、特点:(1)、weak_ptr配合智能指针(shared_ptr)一起使用,通过boost::shared_ptr来初始化;(2)、weak_ptr不增加引用计数;(3)、lock()方法返回的boost::shared_ptr与用来初始化弱指针的【共享指针】共享所有权,如果这个【共享指针】不含有任何对象,返回的共享指针也将是空的,即返回的共享指针将被设置为0;(4)、e...

2020-03-07 23:44:01 458

原创 boost---共享数组

1、shared_array与shared_ptr很相似,只不过其实专门提供对数组的包装。但是经过测试,其实shared_ptr也可以提供对数组的包装,而且不复杂。2、特点:(1)、共享数组必须通过动态分配的数组的地址来初始化;(2)、共享数组的行为类似于共享指针,关键不同在于共享数组在析构时,默认使用delete[]操作符来释放所含的对象;(3)、提供operator[]操作...

2020-03-07 22:44:04 594

原创 boost---共享指针boost::shared_ptr

1、特点:(1)、boost::shared_ptr不独占一个对象,它可以和其他boost::shared_ptr类型的智能指针共享所有权;(2)、使用引用计数来管理,当引用对象的最后一个智能指针销毁后,对象才会被释放;(3)、boost::shared_ptr的构造函数的第二个参数是一个普通函数或者函数对象,该参数用来销毁所含的对象,默认是delete。(4)、随着bo...

2020-03-07 19:11:49 932

原创 boost---作用域数组

1、boost::scoped_array2、特点:(1):作用域数组必须通过动态分配的数组来初始化;(2):作用域数组的析构函数使用delete[]操作符来释放所包含的对象;(3):boost:scoped_array类重载了操作符operator[]();(4):boost:scoped_array也提供了get()和reset()方法,用来返回和重新初始...

2020-03-07 15:01:30 236

原创 boost---作用域指针

1、boost::scoped_ptr2、特点:(1):一个作用域指针独占一个动态分配的对象;(2):一个作用域指针不能传递它所包含的对象的所有权到另一个作用域指针;(3):一旦用一个地址来初始化,这个动态分配的对象将在析构阶段释放;(4):reset()方法用一个新的对象来重新初始化智能指针,在这种情况下,新创建的对象赋值之前会先自动释放所包含的对象。(5):boost...

2020-03-07 14:33:45 246

mqtt+VS2017+V141.zip

mqtt+VS2017+V141.zip

2021-11-25

ModelViewDemo.zip

ModelViewDemo.zip

2021-09-26

instantclient64位oracle免安装客户端.zip

64位的oracle11g免安装客户端

2021-08-20

PageSelect.zip

qt 分页查询

2021-08-05

C++ActiveMQDemo.rar

Vs2013编译的ActiveMQ库文件,64位的,包含Release版本和Debug版本

2021-01-26

ActiveMQ相关编译源程序.rar

ActiveMQ编译使用的相关源程序,全都打包好了,需要自己去编译

2021-01-26

instantclient_11_2.rar

instantclient_11_2.rar

2021-01-21

tinyxml.rar

解析XML文档的开源库

2021-01-06

信号槽开源库.rar

C++ 编写的轻量级 信号槽 开源库,老外的杰作 包含源码(头文件)和 使用说明。和一个简单的使用例子

2020-11-23

occi连接Oracle数据库——库文件.rar

occi连接Oracle数据库,包含dll、lib、h文件,不需要安装oracle客户端,采用occi方式连接

2020-06-10

opencv_4.3.0.rar

这是opencv4.3.0的源码包,需要自己编译,根据需要可以编译成32位和64位。切记需要自己用cmake进行编译

2020-04-15

zzc_libjpeg.rar

资源包含vs2010编译的64位和32位libjpeg库,vs2017编译的32位和64位libjpeg库。

2020-04-07

QLocalServer_QLocalSocket.rar

实现qt程序之间的进程间通信,采用的方式是QLocalServer和QLocalSocket.其方式是通过加载dll的方式。动态链接库里封装了服务端和客户端的功能。

2020-02-18

QT实现橡皮擦功能.rar

QT实现的,环境是QT Creater 4.10.1 对应的QT版本是qt5.13.2.实现的功能是打开图片,画笔功能,橡皮擦功能,保存图片

2020-02-13

ServerSyc.rar

代码非常详细,框架保证可用,自己亲自写的网络通信用的,如果有问题可以随时联系我,目前有一点小问题就是程序退出的时候,会有内存不能释放。

2020-01-14

zlib-1.2.11.tar.gz

下载的别人的挺好用的,传上来共享下。

2019-05-24

opencv2.4.4库(.h/.lib/.dll)

下载的大侠们请注意这不是opencv的安装程序,是opencv2.4.4使用时所需的库,包括.h/.lib/.dll文件,在VS中进行相关的配置后就可以使用opencv开发了。具体的配置方法详见本人的博客。

2019-02-22

Libevent学习资料(代码+文档)

里面有本人学习Libevent时使用过的文档,包括中文手册。还有本人写的基于Libevent多线程的服务器框架

2018-11-19

qt基于libev的多线程服务端

qt_eventdispatcher_libev 是基于 libev 的 Qt 事件调度器。 libev是高性能事件循环/事件模型的网络库,并且包含大量新特性。

2018-10-31

qt多线程服务器文件传输

qt实现的服务端,可以同时接收多个客户端的连接,同时接收多个客户端的文件传输任务。

2018-10-31

QT文件传输

qt实现的文件传输,程序既包含客户端又包含服务器端。。。

2018-10-17

QT tcp 聊天室

QT 实现的聊天室,基于tcp连接,功能:群聊、私聊、收发信息、收发文件。

2018-09-21

QT全局快捷键第三方开源库

QT的注册全局快捷键的第三方库,使用方法简单,自己使用过非常好用!

2018-07-31

qt截图工具

QT实现的截图软件,基本的截图功能,保存所接图片的功能

2018-06-04

Vs2010 + QT4.8.6 安装文件及配置详解

Vs2010 + QT4.8.6 安装文件及配置详解,里面的文档配置很全的。不过一下子上传不上来,还需要下载另外几个,我稍后传上来 qt-opensource-windows-x86-vs2010-4.8.6

2018-04-26

Vs2010 + QT4.8.6安装配置

Vs2010 + QT4.8.6 安装文件及配置详解,里面的文档配置很全的。

2018-04-26

CAsyncSocket和CSocket

使用CAsyncSocket和CSocket的一种通信模型,模型通信稳定,可以挪为己用。

2018-03-22

windows图像组件 wic_x86_chs.exe

windows图像组件,在2003服务器上安装vs2010旗舰版时是必须安装的

2018-01-24

批量图像增强工具

进行批量的图片的增强,自己测试的灰度图没有任何问题

2017-12-14

网络聊天室

基于Socket的网络聊天室,自定义消息长连接,模型值得学习

2017-12-14

CListBox自绘

自绘的实现,以此为基础画出自己的控件。实现自己的需求

2017-11-15

CTreeCtrl自绘

自绘的实现,以此为基础画出自己的控件。实现自己的需求

2017-11-15

CComboBox自绘

CComboBox自绘的实现,以此为基础画出自己的控件。实现自己的需求

2017-11-15

CMenu自绘实现

菜单自绘的实现,以此为基础,开发满足自己需求的各种功能的菜单

2017-11-15

ClistCtrl自绘

ClistCtrl控件进行自绘。以此为基础自绘自己的控件。开发自己的

2017-11-15

图片缩放工具

目前测试可以缩放灰度图片的大小。对于彩色图片没有进行测试

2017-11-13

账号管理的实现

两种代码,自定义结构体保存账号信息,使用CARCHIVE类保存账号

2017-11-13

画图软件的实现

采用图层软件架构实现的画图软件,你可以在此基础上不断的进行完善

2017-11-13

HTTP多线程下载

http实现的多线程下载。可以实现功能。作为学习HTTP的代码资料

2017-11-13

FTP通信的实现

基于FTP实现的文件的上传、下载、删除、等等操作。涉及到的

2017-11-13

空空如也

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

TA关注的人

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