![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
boost
文章平均质量分 72
Hello,C++!
这个作者很懒,什么都没留下…
展开
-
boost C++知识点(七)
6.3. 托管共享内存上一节介绍了用来创建和管理共享的 boost::interprocess::shared_memory_object 类。 实际上,由于这个类需要按单个字节的方式读写共享内存,所以这个类几乎不用。 概念上来讲,C++改善了类对象的创建并隐藏了它们存储在内存中哪里,是怎们存储的这些细节。Boost.Interprocess 提供了一个名为“托管共享内存”的概念,通过定义在 ...转载 2018-10-26 18:09:35 · 1484 阅读 · 0 评论 -
boost::asio很烂吗?
看到知乎上很多大牛的回答/赞同都觉得asio很烂,我没有读过源码也没有用过,不知道asio烂指的是设计上烂(不好用),还是编码上烂呢?看到知乎上很多大牛的回答/赞同都觉得asio很烂,我没有读过源码也没有用过,不知道asio烂指的是设计上烂(不好用),还是编码上烂呢?Asio写的非常好!为什么很多人说它性能不好,原因其实很简单。Asio 给出的标准实例,是单个contex可以多线程run,使用...转载 2019-07-18 10:21:53 · 1772 阅读 · 0 评论 -
boost C++知识点(二)
3 函数对象3.1 Boost.BindBoost.Bind 是这样的一个库,它简化了由C++标准中的 std::bind1st() 和 std::bind2nd() 模板函数所提供的一个机制:将这些函数与几乎不限数量的参数一起使用,就可以得到指定签名的函数。 这种情形的一个最好的例子就是在C++标准中定义的多个不同算法。#include <iostream> #include...转载 2018-10-26 16:32:39 · 404 阅读 · 0 评论 -
boost C++知识点(六)
5…5. 开发 Boost.Asio 扩展要向 Boost.Asio 中增加新的异步操作,需要实现以下三个类:一个派生自 boost::asio::basic_io_object 的类,以表示新的 I/O 对象。使用这个新的 Boost.Asio 扩展的开发者将只会看到这个 I/O 对象。一个派生自 boost::asio::io_service::service 的类,表示一个服务,它被注......原创 2018-10-26 18:09:06 · 368 阅读 · 0 评论 -
boost C++知识点(四)
5 多线程5.1 线程管理在这个库最重要的一个类就是 boost::thread,它是在 boost/thread.hpp 里定义的,用来创建一个新线程。下面的示例来说明如何运用它。#include <boost/thread.hpp> #include <iostream> void wait(int seconds) { boost::this_t......原创 2018-10-26 16:53:56 · 813 阅读 · 0 评论 -
boost C++知识点(三)
4 事件处理4.1 信号signals:虽然这个库的名字乍一看好象有点误导,但实际上并非如此。 Boost.Signals 所实现的模式被命名为 ‘信号至插槽’ (signal to slot),它基于以下概念:当对应的信号被发出时,相关联的插槽即被执行。 原则上,你可以把单词 ‘信号’ 和 ‘插槽’ 分别替换为 ‘事件’ 和 ‘事件处理器’。 不过,由于信号可以在任意给定的时间发出,所以这一......原创 2018-10-26 16:52:09 · 545 阅读 · 0 评论 -
boost C++知识点(一)
1 boost总览:Boost.Any Boost.Any 提供了一个名为 boost::any 的数据类型,可以存放任意的类型。 例如,一个类型为 boost::any 的变量可以先存放一个 int 类型的值,然后替换为一个 std::string 类型的字符串。Boost.Array TR1 Boost.Array 可以把 C++ 数组视同 C++ 标准的容器。Boost.Asio T......原创 2018-10-26 16:15:53 · 5274 阅读 · 1 评论 -
boost的signal和solt机制使用入门
boost的signal和solt机制使用入门signal-slot是一个非常方便的接口机制,在Qt和Gtk中广泛使用。boost也实现了一个signal-slot机制。编译包含signal-slot的代码使用signal-slot,必须包含头文件#include <boost/signal.hpp>signal-slot在boost中不是纯头文件,需要一个libboost_......转载 2019-11-24 19:08:25 · 352 阅读 · 0 评论 -
boost::beast::multi_buffer的转换方法
#include <sstream>boost::beast::multi_buffer buffer;xxxxxxstd::string str;std::stringstream ss;ss << boost::beast::buffers(buffer.data());ss >> str;原创 2019-11-24 13:50:59 · 1356 阅读 · 1 评论 -
boost asio多线程
Cnsumer.h#pragma once#include <boost/asio/io_service.hpp>#include <boost/asio/deadline_timer.hpp>#include <network/EndpointDescription.h>#include "IArchive.h"#include "IPlayer.h"#include "Convert.h"#include <messages/Messages.h原创 2020-12-19 22:10:22 · 410 阅读 · 2 评论 -
boost asio异步和stl异步的简单对比
boost asio异步代码#include <iostream>#include <boost/asio.hpp>#include <boost/thread.hpp>void print(const int data){ if (data == 99999) std::cout << data << std::endl;}int main(){ boost::asio::io_service io_service;原创 2021-05-11 11:10:12 · 289 阅读 · 0 评论 -
boost ptime转化为时间字符串
//对象的定义 boost::posix_time::ptime p(boost::gregorian::date(2010, 3, 5)); //2010年3月5号0点 boost::posix_time::ptime p1(boost::gregorian::date(2010, 3, 5), boost::posix_time::hours(1)); //2010年3月5号1点 boost::posix_time::ptime p2 = boost::posix_tim...转载 2020-10-13 17:51:08 · 3083 阅读 · 0 评论 -
boost asio异步小析
要注意的是,只有io_service类的run()方法运行之后回调对象才会被调用,否则即使系统已经完成了异步操作也不会有任 务动作。好了,就介绍到这里,下面是我带来的异步方式TCP Helloworld服务器端:#include <iostream>#include <string>#include <boost/asio.hpp>#include <boost/bind.hpp>#include <boost/smart_ptr.hpp&g原创 2020-09-14 10:20:45 · 340 阅读 · 0 评论 -
boost用正则表达式验证ip地址合法
// boostTest.cpp : 定义控制台应用程序的入口点。//#include “stdafx.h”#include #include <boost/xpressive/xpressive_dynamic.hpp>//BOOST用正则表达式验证ip地址合法bool CheckIP(const char ip){using namespace boost::xpressive;/ 定义正则表达式 */cregex reg_ip = cregex::compile("(2转载 2020-08-05 17:04:58 · 434 阅读 · 0 评论 -
获取boost::beats::buffers打印的数据
#include <sstream>boost::beast::multi_buffer buffer;do { ws.read_some(buffer, 512);} while(!ws.is_message_done());std::stringstream ss;ss << boost::beast::buffers(buffer.data())...原创 2019-11-30 14:16:18 · 523 阅读 · 0 评论 -
boost时间处理
date_time库的时间功能位于名字空间boost::posix_time,它提供了微妙级别(最高可达纳秒)的时间系统,使用需要包含头文件"boost\date_time\posix_time\posix_time.hpp"。1、时间长度类time_duration类似日期长度类date_duration有days、weeks、months、years这些常用类,time_duration也...转载 2019-11-29 13:33:29 · 2585 阅读 · 0 评论 -
boost库中thread多线程详解10——condition条件变量
有的时候仅仅依靠锁住共享资源来使用它是不够的。有时候共享资源只有某些状态的时候才能够使用。比方说,某个线程如果要从堆栈中读取数据,那么如果栈中没有数据就必须等待数据被压栈。这种情况下的同步使用互斥体是不够的。另一种同步的方式--条件变量,就可以使用在这种情况下。条件变量的使用总是和互斥体及共享资源联系在一起的。线程首先锁住互斥体,然后检验共享资源的状态是否处于可使用的状态。如果不是,那么线程就要等...转载 2019-05-09 18:09:25 · 420 阅读 · 0 评论