摘要: 在用VS 2008使用boost库时候,只需要在VS的配置里面设定好boost的include和lib路径,编写程序就会自动查找和链接。linux下使用boost开发,在哪里设置呢?对所有用户有效,需修改文件/etc/profile; 对个人有效则修改文件~/.bash_profile, 前缀.为linux的隐藏文件夹,用ls -a可查看 打开文件后,在文件最后添加如下:在PATH中找到可执行文件程序的路径。export PATH =$PATH:$HOME/bin#gcc找到头文件的路径C_INCLUDE_PATH=/usr/include/libxml2:/MyLibexport C_I.. 阅读全文
posted @ 2013-07-31 17:36 血鱼 阅读(208) 评论(0) 推荐(0)
摘要: list以双向链表数据结构来实现的,设计的目的为了在一个序列的任何地方快速的插入或者删除元素。list中没有操作符operator[],所以对list进行随即访问速度很慢。其最适合的地方在按顺序从头到尾遍历一个序列的时候,而不是随即的从序列中间选择一个元素。 vector用于快速随机访问其中元素的线性序列,最有效的方法在开始用vector.reserve()分配正确的存储区,vector绝不再重新分配大小了。接着仅仅在后端添加或者删除元素。 deque是优化了的,在序列两端对元素进行添加和删除操作的容器。deque的典型实现是利用多个连续的存储块,因此向deque的两端添加或者删除元素所使用. 阅读全文
posted @ 2012-09-18 22:39 血鱼 阅读(161) 评论(0) 推荐(0)
摘要: 刚连接上:调用async_accept1 boost::shared_ptr<tcp::socket> spMySocket(new tcp::socket(m_ioservice));2 m_acceptor.async_accept(*spMySocket,boost::bind(&CService::accept_handle,this,spMySocket,_1));接收到数据: async_read将m_packet填满或者断开连接才会返回。1 socket_.async_read_some(asio::buffer(&m_packet, sizeof(m 阅读全文
posted @ 2012-09-08 14:58 血鱼 阅读(1713) 评论(0) 推荐(0)
摘要: 在客户端服务器项目实践中,作为服务端必须保持程序的24小时不间断运行,需要做一个监控,当监控到该程序已关闭时则重新启动下。 有两种方法可以实现这个功能:第一是做windows服务,作为后台的系统服务监控程序的运行状态。第二是编写另外一个程序作为监控程序,通过添加计划任务,将监控程序设置为开机启动。 网上讨论两者的区别很少,大概都是集中在监控程序有界面而windows服务没有界面,其实监控程序也是可以写成没有界面显示,只是后台运行,即只能在任务管理器里面看到进程。 自己总结了下,注册一个服务,也是调用本地的一个exe来实现的,只不过该EXE入口函数包装了windows服务的一些参数,或者说服务. 阅读全文
posted @ 2012-09-06 01:14 血鱼 阅读(880) 评论(0) 推荐(0)
摘要: 首先是要开辟电脑上的共享空间,利用boost的share_memory_object很容易实现接着获取当前时间,由于获得的位UTC时间,北京时间还需要加8小时,最后写入内存。 1 #include "stdafx.h" 2 #include <boost/interprocess/shared_memory_object.hpp> 3 #include <boost/date_time/gregorian/gregorian.hpp> 4 #include <boost/date_time/posix_time/posix_time.hpp&g 阅读全文
posted @ 2012-09-04 23:11 血鱼 阅读(604) 评论(0) 推荐(0)
摘要: 最近项目中使用了boost,目前下载得版本是boost 1_50_0,boost自身的Get Start描述怎么安装很详细,还有很多书上都写要怎么配置的, 看得感觉真是麻烦。其实如果只是要生成全部链接库文件没那么麻烦,只需要两步就可以了 一、打开CMD,转到网上下载的boost文件夹目录下,比如我的放在E:\boost_1_50_0,就直接e:回车,然后cd boost_1_50_0 二、接着输入bootstrap(即运行该目录下的bootstrap.dat),等几秒钟后,按照提示,输入.\b2,等10几分钟就搞定了。生成得lib文件在E:\boost_1_50_0\stage\lib下 阅读全文
posted @ 2012-09-02 15:35 血鱼 阅读(603) 评论(0) 推荐(0)
摘要: gSoap生成的服务器端,用于C++的客户端调用时一般不存在编码问题,只需要程序自动生成的soapXXXProxy.cpp以及SoapXXXProxy.h文件即可。网页端要调用时,将会遇到很多问题。 由于gSoap生成的是.WSDL文件,在Web服务里面现在流行的是.asmx文件。这个时候就需要用到VS自带的WSDL转换工具wsdl.exe。@echo off@set path=F:\2012-6\tempwsdl.exe /out:myProxyClass.cs forecast.wsdlpause 在网页编程时候,将生成的myProxyClass添加进去即可。由于C++,gSoap以及.. 阅读全文
posted @ 2012-02-29 19:43 血鱼 阅读(821) 评论(0) 推荐(0)