BOOST
zhongguoren666
本人迄今已有近七年的工作经验,一直从事软件开发,曾涉彩票、教育、铁路、农业、门户网站等多个行业,个人认为最精深的要数彩票行业了。本人开发过程中最擅长的要数C 和DELPHI,当然,在SOCKET、COM 、WebServic、数据库、多线程、线程同步、线程池、数据库连接池、串口通讯、UI设计、进程间通信等等技术也有较深入的学习。本人自认充满活力、拥有激情、爱好学习、充满自信。衷心希望能提供大家一些有用帮助与建议!
展开
-
LINUX下BOOST编译(记录一下)
每次编译boost总是得去网上搜索一番, 这次把过程记录一下.boost最新版本下载地址:http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041下载boost_1_39_0.tar.gz tar -zxvf boost_1_39_0.tar.gz 然后进入解压缩后的原创 2012-05-21 13:23:58 · 1086 阅读 · 0 评论 -
Boost.Interprocess翻译-快速入门
Quick Guide for the Impatient入门指南Using shared memory as a pool of unnamed memory blocksCreating named shared memory objectsUsing an offset smart pointer for shared memoryCreati原创 2013-04-09 15:49:16 · 1694 阅读 · 0 评论 -
读《Boost程序库完全开发指南》
第1章 Boost程序库总论使用Boost,将大大增强C++的功能和表现力 第2章 时间与日期timer提供毫秒级的计时精度,内部是通过std::clock取时间的progress_timer自动打印某生命周期的执行时间原则上程序库的代码是不应该被用户修改的progress_display可以在控制台上显示程序的执行进度date_time库原创 2013-04-09 15:41:17 · 2635 阅读 · 0 评论 -
boost::asio一个简单的echo服务器
以前使用ACE实现Server框架,但是觉得太笨重,决定采用boost.asio来写服务器程序: 1.服务器构建在linux上面;当然也可以在windows下运行 2.io部分采用非阻塞模式、业务逻辑部分采用同步线程池实现 3.封装io操作及状态,用户应用程序无需关心io详细操作所以决定采用boost::asio框架来写服务器:boost::asio::io_service提供原创 2013-04-08 14:46:41 · 1395 阅读 · 0 评论 -
Boost::asio范例分析 客户端
为了方便描述,这里只分析一下同步实现,异步实现方式和同步方式的流程是一致的,只是在函数调用的方式上有些区别.分析清楚了同步方式,在看异步实现,也很容易. 这个HTTP范例实现了客户端向服务端请求文件内容的功能,客户端给出一个文件名称,服务端在本地寻找文件,并将文件内容(文本文件)返回给客户端. main函数首先检查传递给exe执行文件的参数,第一个参数是服务端的IP地址,第二个参数是请原创 2013-04-08 14:41:11 · 1255 阅读 · 0 评论 -
Boost::asio范例分析 服务端
main函数要求程序调用者传递3个参数:服务器IP地址,端口号和文档根目录.其中IP地址可以是IPv4或IPv6格式.接着创建server对象实例,将传递进来的IP地址,端口号,文档根目录作为server对象的构造函数参数传递到处理程序中.最后调用server的run成员函数启动服务端处理例程. http::server::server s(argv[1], argv[2], argv[原创 2013-04-08 14:39:07 · 1574 阅读 · 0 评论 -
Boost::asio io_service 实现分析
io_service的作用io_servie 实现了一个任务队列,这里的任务就是void(void)的函数。Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N个线程调用。Io_service是完全线程安全的队列。Io_servie的接口提供的接口有run、run_one、poll、poll_原创 2013-04-08 14:00:30 · 921 阅读 · 0 评论 -
boost::function用法详解
要开始使用 Boost.Function, 就要包含头文件 "boost/function.hpp", 或者某个带数字的版本,从"boost/function/function0.hpp" 到"boost/function/function10.hpp". 如果你知道你想保存在function 中的函数的参数数量,这样做可以让编译器仅包含需要的头文件。如果包含"boost/func原创 2013-04-02 15:50:23 · 1166 阅读 · 0 评论 -
使用enable_shared_from_this
使用enable_shared_from_this说明The header defines the class template enable_shared_from_this. It is used as a base class that allows a shared_ptr to the current object to be obtained from within a原创 2013-02-27 16:35:14 · 19778 阅读 · 0 评论 -
boost 库 enable_shared_from_this 实现原理分析
使用情景:当类对象被 shared_ptr 管理时,需要在类自己定义的函数里把当前类对象作为参数传给其他函数时,这时需要传递一个 shared_ptr ,否则就不能保持 shared_ptr 管理这个类对象的语义(因为有一个 raw pointer 指向这个类对象,而 shared_ptr 对类对象的这个引用没有计数,很有可能 shared_ptr 已经把类对象资源释放了,而那个调用函数还原创 2013-02-27 13:53:41 · 3573 阅读 · 0 评论 -
Boost::asio io_service 实现分析
Boost::asio io_service 实现分析io_service的作用io_servie 实现了一个任务队列,这里的任务就是void(void)的函数。Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N个线程调用。Io_service是完全线程安全的队列。Io_servie的接口原创 2012-09-21 09:56:46 · 1721 阅读 · 0 评论 -
Asio 核心概念和功能文档学习(三)
线程和Asio线程安全一般来说,并发使用不同对象是安全的,但并发使用同一对象是不安全的。然而,诸如is_service类型提供了安全并发使用同一个对象的强保证。线程池多线程可以调用io_service::run()设置调用完成处理程序的线程池。这个方法也可以被用于io_service::post()以用一种方式执行任何分配给一个线程池的计算任务。需要注意的是所有加入is_ser原创 2012-09-21 09:31:43 · 1395 阅读 · 0 评论 -
Asio 核心概念和功能文档学习(二)
前摄器(proactor)设计模式:没有线程的并发Asio库同时提供对同步和异步操作的支持。异步操作的支持基于前摄器设计模型。这种方法与同步或反应器方法对比的优缺点列在下面。 前摄器和Asio不考虑平台相关细节,我们来检查一下前摄器设计模式在Asio中是如何实现的。前摄器设计模式Asynchronous Operation(异步操作)定义一个异步执行的操作,例如so原创 2012-09-21 09:31:10 · 1866 阅读 · 0 评论 -
Asio 核心概念和功能文档学习(一)
基本Asio解剖Asio在I/O对象例如sockets上完成操作,即可是同步操作也可是异步操作。在开始使用Asio以前,了解Asio多个部分,你的程序,以及他们怎么一起工作的的概念图非常有用的。我们考虑当你在一个socket上执行一个连接操作时都发生了些什么作为一个引导的例子。我们可以通过考察同步操作开始。Your program(你的程序)会至少有一个io_service对象。i原创 2012-09-21 09:30:18 · 1381 阅读 · 0 评论 -
(*)使用Boost.Asio编写通信程序
http://cpp.ezbty.org/content/science_doc/%E4%BD%BF%E7%94%A8boostasio%E7%BC%96%E5%86%99%E9%80%9A%E4%BF%A1%E7%A8%8B%E5%BA%8F使用Boost.Asio编写通信程序由 lgb 于 星期日, 2010/07/25 - 18:02 发表asioboost同步异步网原创 2012-09-06 16:22:41 · 1743 阅读 · 0 评论 -
boost::pool与内存池技术
建议看这个链接的内容:http://cpp.winxgui.com/cn:mempool-example-boost-pool Pool分配是一种分配内存方法,用于快速分配同样大小的内存块, 尤其是反复分配/释放同样大小的内存块的情况。1. pool 快速分配小块内存,如果pool无法提供小块内存给用户,返回0。 Example:原创 2012-07-22 15:55:59 · 1432 阅读 · 0 评论 -
使用 Boost 的 IPC 和 MPI 库进行并发编程
使用非常流行的 Boost 库进行并发编程非常有意思。Boost 有几个用于并发编程领域的库:Interprocess (IPC) 库用于实现共享内存、内存映射的 I/O 和消息队列;Thread 库用于实现可移植的多线程;Message Passing Interface (MPI) 库用于分布式计算中的消息传递;Asio 库用于使用套接字和其他低层功能实现可移植的连网功能。本文介绍 IPC 和原创 2013-04-09 16:04:28 · 1590 阅读 · 0 评论