boost
文章平均质量分 83
放牛娃不吃草
这个作者很懒,什么都没留下…
展开
-
利用boost计算运行时间间隔及获取系统时间并格式化
利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题。1. 输出YYYYMMDD[cpp] view plain copy #include #define BOOST_DATE_TIME_SOURCE std::string strTime = boost::gregorian::to_iso_strin转载 2016-01-28 09:46:32 · 7577 阅读 · 0 评论 -
Boost库timer的使用方法_经典方法
关于timer的基本教程可以看这里:http://blog.csdn.net/luopeiyuan1990/article/details/8013221void timer_call_back(const boost::system::error_code& /*e*/, boost::asio::deadline_timer* t){ printf("\n\n System原创 2013-01-28 16:01:02 · 1343 阅读 · 0 评论 -
Boost 异步tcp客户端
class Class_Raw_Retrans{public: Class_Raw_Retrans(boost::asio::io_service& io_service,ip::tcp::endpoint endpoint) :iosev(io_service), socket(iosev), ep(endpoint) { socket.connect(ep,ec);原创 2013-01-15 15:03:54 · 3588 阅读 · 0 评论 -
boost中TCP的客户端发送示例(blocking版)
//// blocking_tcp_echo_client.cpp// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License,转载 2013-05-06 16:09:44 · 1368 阅读 · 0 评论 -
Boost中对大小端的转换
使用命名空间using namespace boost::spirit::detail;包含头文件boost/spirit/home/support/detail/endian/endian.hpp 模版函数load_big_endian(const char * c_str) load_little_endian(const char* c_str) 使用示例原创 2013-04-28 16:15:23 · 5140 阅读 · 3 评论 -
boost::function详解
要开始使用 Boost.Function, 就要包含头文件 "boost/function.hpp", 或者某个带数字的版本,从"boost/function/function0.hpp" 到 "boost/function/function10.hpp". 如果你知道你想保存在 function 中的函数的参数数量,这样做可以让编译器仅包含需要的头文件。如果包含 "boost/functio转载 2013-09-17 11:15:51 · 1494 阅读 · 0 评论 -
boost线程池教程
Boost的thread库中目前并没有提供线程池,我在sorceforge上找了一个用boost编写的线程池。该线程池和boost结合的比较好,并且提供了多种任务执行策略,使用也非常简单。下载地址:http://threadpool.sourceforge.net/使用threadpool:这个线程池不需要编译,只要在项目中包含其头文件就可以了。一个简单的例转载 2013-09-16 12:56:54 · 3552 阅读 · 0 评论 -
Boost的UDP接收server示例
废话不多说直接上代码:GetConfig函数见本栏其他文章。功能:读取文本配置。#include #include #include #include #include "boost/bind.hpp"class receiver_{public: receiver_(boost::asio::io_service& io_service,原创 2013-08-29 14:05:07 · 5074 阅读 · 1 评论 -
Boost中Echo的tcp例程
Boost中Echo的TCP的Server版本//// async_tcp_echo_server.cpp// ~~~~~~~~~~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boos转载 2013-08-11 14:06:33 · 1200 阅读 · 0 评论 -
numeric_cast 详解
Boost的转换函数(二)boost::numeric_cast在c++中,我们经常需要把不同类型的数字互相转换,如将一个数字在long和short之间转换。但由于各数字的精度不同,当一个数字从"大"类型到"小"类型就可能导致转换失败,如下所示:long n1 = 99999999;short n2 = static_castshort>(n1);对于如上转换,n2转载 2013-08-14 11:04:18 · 2157 阅读 · 0 评论 -
boost_regex正则表达式详解
boost::regex的默认正则表达式语法是perl语法 boost::regex支持perl regular表达式、POSIX-Extended regular表达式和POSIX-Basic Regular表达式,但默认的表达式语法是perl语法,如果要使用其余两种语法需要在构造表达式的时候明确指定。 例如,下面两种方法效果相同 //转载 2013-08-11 17:29:27 · 4502 阅读 · 1 评论 -
boost库解析XML教程
Five Minute TutorialThis tutorial uses XML. Note that the library is not specifically bound to XML, and any other supported format (such as INI or JSON) could be used instead. XML was chosen bec转载 2013-07-24 09:22:40 · 2396 阅读 · 0 评论 -
boost进程间通信常用开发一篇全(消息队列,共享内存,信号)
敏捷开发大家想必知道而且评价甚高,缩短开发周期,提高开发质量。将大工程独立为不同的小app开发,整个开发过程,程序可用可测,所以提高了整体的质量。基于这种开发模式和开发理念,进程间通信必然是童鞋们必掌握技能之一了,而boost库是众多库中平台支持性很好,效果很高之一。做嵌入式或者服务器等应用的人肯定有所涉及。本文以手册方式讲述boost共享内存,信号,以及消息队列的编程方式。很简单,列出最常用用法,供大家拷贝直接使用。本文出自CSDN-固本培元。转载注明出处-leoluopy@gmail.com。原创 2014-05-23 11:02:57 · 12954 阅读 · 0 评论 -
Boost正则表达式库regex常用search和match示例
示例很简单,但是很有针对性,可以根据示例进行不用的修改,之后加入到各种工程中。#include #include #include #include #include using namespace std;using namespace boost; regex subexp("e[cl][oe][mc]"); regex expression("^se原创 2013-08-11 18:17:55 · 5736 阅读 · 0 评论 -
boost智能指针笔记
参见《Boost程序库完全开放指南》 第3章 内存管理所有示例,采用vs2010开发工具(vs2005也适用),均为win32控制台程序。Boost库的配置可参照:http://blog.csdn.NET/segen_jaa/article/details/7407404。1、scoped_ptr内动态管理内存。但所有权不能转让,不能进行赋值操作。转载 2016-11-03 16:48:25 · 473 阅读 · 0 评论 -
笔记:vs使用cmake自动添加opencv和boost(MFC使用cmake建立工程)
To find boost libsCMake:How To Find Librarieshttp://www.cmake.org/Wiki/CMake:How_To_Find_Librariescmake_minimum_required(VERSION 2.8)set(Boost_INCLUDE_DIR /usr/local/src/boost_1_46_1)s原创 2016-07-17 10:42:16 · 2330 阅读 · 3 评论 -
Boost用法split
这篇蛮好的,原帖:http://viml.nchc.org.tw/blog/paper_info.PHP?CLASS_ID=1&SUB_ID=1&PAPER_ID=209這一篇最初的目的,是想來整理一下在 C++ 裡的字串切割的方法。不過寫到一半就發現,其實 Boost 提供的相關工具都可以延伸到其他形式的資料,並不僅限於字串,所以變成內容是著重在 STL containt转载 2016-07-14 16:59:13 · 1638 阅读 · 0 评论 -
boost生成和解析json实例及定向到文件
生成:// test.cpp#include #include #include #include #include using namespace std;using namespace boost::property_tree; int main(){ ptree pt_1,pt_11,pt_12; pt_11.put("id","3445")原创 2016-01-27 17:24:31 · 3515 阅读 · 0 评论 -
boost::spirit用法及EBNF表达式基础
昨天看到 王博炜 Blog中《五进制》这篇文章。其中关于5进制到10进制的转换自然没有什么意思,这篇文章给的代码主要是讨论如何进行表达式分析和计算的。作者自制了一个Stack,并且用其形成了两个堆栈分别用于存储数值和运算符。比较典型的表达式处理的方法。从实现上看,代码有些臃肿,而且必要的优化很少,另外就是没有充分利用标准提供的便利。比如那个Stack完全没有必要自制,STL提供的std::stac转载 2016-04-22 14:46:52 · 2346 阅读 · 0 评论 -
boost同步互斥mutex lock
1.boost里的互斥量类型由mutex表示。代码示例: 12345678910111213141516171819202122232425#include #include #include #include #include转载 2016-05-27 09:05:09 · 686 阅读 · 0 评论 -
解决undefined reference to `boost::filesystem::detail::copy_file
在已经链接了boost_filesystem的情况下,仍然报错没有链接(如题),头文件中加入以下及解决问题#define BOOST_NO_CXX11_SCOPED_ENUMS#include原创 2016-04-19 14:01:53 · 9146 阅读 · 0 评论 -
boost::program_options使用简介
程式執行參數處理函式庫:Boost Program Options(1/N)一般程式寫得大一點、或是需要比較有彈性,通常都需要在程式執行的時候,從外部讀取一些參數,來做為內部的設定值。一般來說,比較常見的方法,大概就是直接透過命令提示字元(command line)來下參數,或是透過讀取設定檔(例如 ini 檔)來讀取設定值。以前者來說,雖然 C++ 的主函式、main()转载 2016-03-11 14:36:36 · 1234 阅读 · 0 评论 -
boost中filesystem库的使用
filesystem库是一个可移植的文件系统操作库,它在底层做了大量的工作,使用POSIX标准表示文件系统的路径,使C++具有了类似脚本语言的功能,可以跨平台操作目录、文件,写出通用的脚本程序。1.path的构造函数可以接受C字符串和string,也可以是一个指定首末迭代器字符串序列区间。2.filesystem提供了一系列的文件名(或目录)检查函数。3.有丰富的函数用于获取文件名、目转载 2016-01-28 15:27:37 · 1266 阅读 · 0 评论 -
解决ubuntu14.04编译boost1.5.4没有thread库生成
首先报错如下:skipped libboost_thread.a(clean) for lack of pthread/thread.o..编译命令是:./bjam --with-thread stage最后发现是个很简单的原因要默认使用 c++ 11命令如下:./bjam --with-thread stage cxxflags="-std=c++11"原创 2016-01-23 15:24:17 · 3573 阅读 · 1 评论 -
使用boost做post/get请求开发笔记
话不多说 上代码:代码也很简单,可以直接使用编译#include #include #include #include #include #include using boost::asio::ip::tcp;class client{public: client(boost::asio::io_service& io_service, cons原创 2015-06-02 17:27:57 · 7119 阅读 · 1 评论 -
BOOST_FOREACH用法教程
类似perl和c#的foreach,BOOST_FOREACH给我们带来了一种简单而有效的遍历数组的方式。让我们首先来看个简单的例子:#include #include #include int main(){ std::string hello( "Hello, world!" ); BOOST_FOREACH( char ch, hell转载 2013-07-23 17:48:01 · 6395 阅读 · 0 评论 -
boost解析XML方法教程
boost库在解析XML时具有良好的性能,可操作性也很强下地址有个简单的说明http://blog.csdn.net/luopeiyuan1990/article/details/9445691一下是做的两个实例:入门教程,大神见笑,希望能帮助你尽快进入XML的开发之旅。 35 /tmp/tmp0/ 0原创 2013-07-24 09:41:03 · 3372 阅读 · 0 评论 -
boost::property_tree
boost::property_tree 的解析xml模块是基于rapidXml的, 以下是两个例子:例子1: [cpp] view plaincopy#include #include #include #include using namespace std; void Rea转载 2013-06-27 14:41:19 · 1725 阅读 · 0 评论 -
Boost::thread库的使用
Boost::thread库的使用2009/11/26Kagula 阅读对象本文假设读者有几下Skills[1]在C++中至少使用过一种多线程开发库,有Mutex和Lock的概念。[2]熟悉C++开发,在开发工具中,能够编译、设置boost::thread库。 环境[1]Visual Studio 2005/2008 with SP1[2转载 2013-01-29 17:40:19 · 776 阅读 · 0 评论 -
Boost正则表达式对AIS消息的拆分经典实例
对这个实例有什么问题可以联系我,方式见上。#include #include #include #include #include using namespace std;using namespace boost;//regex expression("(!AIVD[MO],.{0,70},[0-9][*][0-9A-Z][0-9A-Z])");rege原创 2013-01-23 17:25:08 · 1225 阅读 · 0 评论 -
C++ boost 正则表达式用法
什么是正则表达式?正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express。如果您不知道什么是正则表达式,请看这篇文章http://blog.csdn.net/begtostudy/archive/2007/11/11/1879206.aspx有了正则表达式的基础,问题是如何使用。我们以boost::regex来说先看一个网上经典的例子。#inclu转载 2013-01-22 18:38:01 · 3077 阅读 · 0 评论 -
Boost正则表达式教程
regex_match regex_match算法用来测试一个字符串是否完全匹配正则式。让我们来看一下regex_match的使用: if (regex_match(str, m, re)){ ...} str是一个字符串,可以是string,wstring,char *或者wchar_t转载 2013-01-23 16:29:07 · 1246 阅读 · 0 评论 -
AISO教程UDP组播的例程
改编了直接可用的接收端://// receiver.cpp// ~~~~~~~~~~~~//// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License, Version 1.0原创 2012-12-03 12:54:47 · 2511 阅读 · 0 评论 -
boost/asio服务器获取数据并打印地址转换为string
class session{public: session(boost::asio::io_service& io_service) : socket_(io_service) { } tcp::socket& socket() { return socket_; } void start() { se原创 2012-11-11 10:39:09 · 1968 阅读 · 0 评论 -
Boost::asio异步回调在类中的实现。
class TCP_Client{public: TCP_Client(boost::asio::io_service& io_service,ip::tcp::endpoint endpoint) :iosev(io_service), socket(iosev), ep(endpoint) { socket.con原创 2012-10-15 14:47:34 · 1311 阅读 · 0 评论 -
Boost::asio中的异步回调
给出一个最简单的示例回调函数void ReadHandle( const boost::system::error_code& error, // Result of operation. std::size_t bytes_transferred ){ if(!error) { cout原创 2012-10-15 13:37:37 · 1750 阅读 · 0 评论 -
Boost的UDP教程
//// blocking_udp_echo_client.cpp// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software Li原创 2012-09-20 11:34:48 · 2622 阅读 · 0 评论 -
Boost::asio库在Ubuntu下的TCPIP协议栈编程细节
使用g++编译boost::asio代码时的注意。编译单独Cpp文件千万别忘了加参数。g++ Client.cpp -lpthread -lboost_system 这个也是,ubuntu下使用集成开发环境时,需要的library,可以添加的哦,使用项目的属性添加即可。可能存在的找不到,动态库问题error while loading shared libra原创 2012-09-22 09:48:45 · 1412 阅读 · 0 评论 -
Boost::thread 用法(网络socket引用)TCPIP编程
最终是要使用boost::thread库调度网络编程,tCP套接字。先热热身,参考,参考网上原有的资料。boost::thread有两个构造函数: (1)thread():构造一个表示当前执行线程的线程对象; (2)explicit thread(const boost::function0& threadfunc): boost::function0可以简单看为:一原创 2012-09-04 16:27:56 · 1644 阅读 · 0 评论 -
win7下vs2010编译boost库及安装配置方法
boost 主页 www.boost.org1.下载安装包boost 1_43_0 http://sourceforge.net/projects/boost/files/boost/1.43.0/ 选择下载 windows 或 unix 版本2.解压缩到d:/boost目录下3.编译bjam (1)从vs2010的工具菜单进入命令提示窗口转载 2013-01-16 15:57:39 · 3315 阅读 · 2 评论