centos7编译安装boost 1.69.0和yum 安装

yum install boost -y

 yum install boost-devel --allowerasing
 

Index of main/release/1.71.0/source

ubuntu安装boost的方法_暴躁的小小天的博客-CSDN博客_ubuntu安装boost


boost不编译使用
cp  boost   /usr/local/     
vim ~/.bashrc
export  CPLUS_INCLUDE_PATH=/usr/local/boost/include

CentOS 7 安装Boost 1.67_章志强的博客-CSDN博客_boost centos

下载Version 1.69.0

st$ dpkg -S /usr/include/boost/version.hpp 
libboost1.65-dev:amd64: /usr/include/boost/version.hpp
test@test-virtual-machine:/usr/include/boost$ 
 

yum -y install gcc-c++ python-devel bzip2-devel zlib-devel
tar jxvf  boost_1_69_0.tar.bz2 

./bootstrap.sh --prefix=/usr/local/boost
./b2 install
cd tools/build
./bootstrap.sh
./b2 install --prefix=/usr/local/boost

C++boost之asio strand

C++boost之asio strand_highnewrain的博客-CSDN博客_c++ strand

以c++ boost 1.66版本为例,类boost::asio::io_context::strand的主要作用是在asio中利用多线程进行事件处理的时候,如果涉及到多线程访问共享资源,借助于strand类,我们不需要显示的使用线程同步相关的类(比如mutex)就可以让多个事件处理函数依次执行。

简而言之,strand定义了事件处理程序的严格顺序调用。

我们知道,若多个线程调用了同一个io_context对象的run方法,那么该对象关联的多个事件处理函数 可能就会被不同的线程同时执行(即并发执行),若这些事件处理函数访问同一个非线程安全的共享资源时,就可能会产生线程同步问题。 但是若我们将这些事件处理函数bind到同一个strand对象上,那么asio库保证在上一个事件处理函数处理完成之前是没法执行下一个事件处理函数的(相当于阻止了并发执行)。

下面以deadline_timer调用为例

boost::scoped_ptr

[C++] Boost智能指针——boost::scoped_ptr(使用及原理分析) - helloamigo - 博客园

boost::scoped_ptr是一个比较简单的智能指针,它能保证在离开作用域之后它所管理对象能被自动释放。下面这个例子将介绍它的使用:

{
        boost::scoped_ptr<Book> myBook(new Book());
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值