请教boost的消息队列问题 [问题点数:40分,结帖人qwangq]

Bbs1
本版专家分:0
结帖率 97.83%
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
请教 boost: serialization问题
学习一个小时,能将简单的类进行序列化。rnrn我的<em>问题</em>是:rnrn1: 项目中有很多.cpp 和.h文件, 怎么将里面的类、member 都序列化?rnrnrn2: 这些文件需要先zlib处理下, 但是从void serialize( class &, ....)里要看不到任何 zlib的,我该怎么设计,用哪种设rnrn计模式?rnrn3. 大牛要是有相关代码能参考下就好了,3q.
boost问题请教boost
rn std::vector m_lsbufferQueue;rnrn BOOST_FOREACH(BOOST_TYPEOF(m_lsbufferQueue)::reference buf, m_lsbufferQueue)rn rn size_t size = m_pmp3dataSource->Read(&data[0], data.size());rn if (size == -1)rn Stop();rn elsern data.resize(size);rn if (!data.empty())rn rn ++ non_empty_buf;rn alBufferData(buf, format, &data[0],rn static_cast(data.size()), m_pmp3dataSource->Freq());rn rn elsern rn break;rn rn rnrn这段代码的意识就是像缓冲区中填充数据,我的需求就是把BOOST_FOREACH(BOOST_TYPEOF(m_lsbufferQueue)::reference buf, m_lsbufferQueue) 改成stl的,不用<em>boost</em>,<em>请教</em>大虾,这个怎么改?rnrnBOOST_FOREACH BOOST_TYPEOF(m_lsbufferQueue)::reference 是啥意识?<em>请教</em>了,请讲清楚一点,谢谢!
请教关于消息队列问题
一个已存在的<em>消息队列</em>中rn已知关键字 , 如何获得标志符??rn谢谢
请教消息队列相关问题
我要父进程和子进程之间用<em>消息队列</em>通信,可以成功创建和删除<em>消息队列</em>,但是发消息和收消息出错,是怎么回事?哪位大哥给段代码示意一下吧,我不太熟悉UNIX
请教消息队列问题
请问在MQ中有多个MESSAGE,我如何取自己要的?rnReceiveById(string)中ID如何取?MESSAGE有没有寿命?
请教一个消息队列问题
[code=C/C++]rnqueue_fd = mq_open("/myqueue",O_RDONLY);rnif(queue_fd = -1)rn perror("open msgqueue:");rn exit(-1);rnrn[/code]rn程序就在这里退出了,打印的错误信息为rn这几句是整个程序的最开始几条语句,前面都是一些变量定义rn[code=C/C++]rnopen msgqueue:: Successrn[/code]rnrn显然打开<em>消息队列</em>的时候返回-1了,但是Success 是个什么意思呢rn另外一个程序创建"/myqueue"这个<em>消息队列</em>应该已经成功了,因为当我把“/myqueue"改成"/myque"的时候就会打印rn[code=C/C++]rnopen msgqueue:: No such file or directoryrn[/code]
子线程消息队列问题请教
须在主线程和子线程间通讯,希望能异步进行,主线程将消息post到子线程<em>消息队列</em>后立即返回。子线程自队列中读出消息,进行处理。这种情况是否子线程一定要有自己的窗口?还是可以有可以支接发送到线程的方式?仿佛MFC的UI线程自己就是带有<em>消息队列</em>的。请了解的朋友介绍这种情况下能使用的通讯方式,兄弟这里先行谢过。
请教消息队列?
写VC的程序写了一段时间,突然对<em>消息队列</em>有点不清楚(以前也没有搞明白)。rn我作了一个Dialog对话框程序。然后,点击OK按钮的时候创建一个模态的对话框,这个时候主Dialog就不能再接收任何消息,直到模态的对话框结束。我想知道没有弹出模态对话框时,和弹出消息对话框后的主Dialog的<em>消息队列</em>是怎样跑的。rn如果,弹出一个非模态的消息对话框呢?rnrn谢谢!
如何在boost消息队列中存储结构体
线程A将数据用结构体封装,[code=c]struct MsgStructrnrn unsigned char START;rn struct NetID Net_ID;rn int BodyLength;rn enum CommandID ;rn unsigned short RecordCount;rn unsigned char PacketCount;rn unsigned char PacketNum;rn char Reserve[16];rn int MsgLength;rn char data[1024];rn unsigned short CRC_16;rn unsigned char END;rn;[/code]之后存入<em>消息队列</em>,线程B从<em>消息队列</em>取出数据发送。rn为了方便以后往linux移植,老大要求用<em>boost</em>::interprocess::message_queue,我是新手,不知从何下手,还请各位高手指点。
请教boost线程一个问题
刚学习<em>boost</em>rnrn使用<em>boost</em>来开发tcp的serverrnrn程序accept为一个线程rnrn当接受到一个客户端socket链接时,需要为该客户端创建一个线程来单独处理该链接rnrn该链接或许链接会长时间保持链接状态rnrn这样的情况下我该怎么使用<em>boost</em>::thread来建立于客户端的链接rnrn谢谢rnrnrnint main()rnrn <em>boost</em>::thread accpetthrd(acceptfun); //这里创建了一个服务线程rn accpetthrd.join();rnrnrnrnvoid acceptfunrnrn while(1)rn rn SOCKET sClient=accept(s,(struct sockaddr*)&from,&fromlen); rn //这里接受到一个新的链接;rn //我的意思是希望能够在这里创建一个线程,类似windows上的rn //线程 DWORD WINAPI Thread_client(LPVOID pParam)rn //如何使用<em>boost</em>::thread来表示上述方式?多谢rn rnrnrnvoid Thread_oneclient(socket& s)rnrn //recv and send ;rn
请教boost::spirit的parse()问题
刚开始看spirit,有一个疑问,一个字符串匹配成功后如何来执行一点动作,比如:rnconst char* szParam = "If(1)";rnrule<> rlx, rlAct, rlStr;rnrlx = digit_p;rnrlStr = str_p("If(")>>rlx>>ch_p(')');rnrnparse_info<> r = parse( szParam, rlStr);rnrn我的本意是要提取出If(1)里面的1,然后执行一个函数fun,请问该如何做?或者说怎么拿到那个1?
请教boost正则表达式的语法问题
我要提取一串URL 格式如下:rnhttp://***.***.***user_login_qp.php?uid=%BF%BC%C0%AD&pwd=7faac35ae7dcaddca9ef0c1b1c50e68a&flag=Testrn要提取uid pwd flag 3个字段 <em>请教</em>一下各位大牛语法 能解释一下各字段的提取方法则更好,刚看<em>boost</em>伤不起...rn
基于boost 线程并行技术实现消息队列方式
小立再也没有机会,就这样失去,人生当中最大的悲哀莫过于此。才发现原来生活就是这么的槽糕,所有的都是没有劲的。rnrn    翻遍csdn,也翻遍博客园,更翻遍google 中文,翻遍英文只有两篇。就以此文献给这些堕落的,颓废的,乱七八槽的日子吧。rnrnrn[code=C/C++]#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rnrnrn#include rnusing namespace std;rnusing namespace <em>boost</em>;rnrnrn<em>boost</em>::recursive_mutex io_mutex;rn<em>boost</em>::condition_variable_any cond;rnstd::queue iq;rnrnclass printerrnrnpublic:rn printer(<em>boost</em>::asio::io_service& io,int n)rn : strand_(io),rn timer1_(io, <em>boost</em>::posix_time::seconds(1)),rn timer2_(io, <em>boost</em>::posix_time::seconds(1)),rn count_(n)rn rn timer2_.async_wait(<em>boost</em>::bind(&printer::enqueue, this));rn timer1_.async_wait(<em>boost</em>::bind(&printer::dequeue, this));rn rn rnrn ~printer()rn rn <em>boost</em>::recursive_mutex::scoped_lock lock(io_mutex);rn std::cout << "Final count is " << count_ << "\n";rn rnrn void dequeue()rn rn <em>boost</em>::recursive_mutex::scoped_lock lock(io_mutex);rn while(iq.empty())rn rn cond.wait(lock); rn rn rn int pop =0;rn if (!iq.empty())rn rn pop = iq.front();rn iq.pop();rn cout<<
请教使用boost/lexical_cast的问题
想在一个console application中使用<em>boost</em>/lexical_cast将字符串转换为数值的功能,rnVC6中设置了include路径,源码如下:rnrn#include "stdafx.h"rn#include rn#include rnrnusing namespace std;rnrnint main(int argc, char *argv[])rnrn using <em>boost</em>::lexical_cast;rn int a = lexical_cast("123");rn double b = lexical_cast("123.12");rnrn cout << a << endl;rn cout << b << endl;rn rn return 0;rnrnrn编译出错:rnerror C2062: type 'int' unexpectedrnerror C2062: type 'double' unexpectedrnrn请问如何解决?多谢!!!
请教boost::asio连接超时的问题
<em>boost</em>::asio要设置连接超时(是同步连接connect,不是async_connect),除了用deadline_timer::async_wait之外,还有没有其它方法?rn我要把连接和超时写在同一个函数里处理,而deadline_timer::async_wait需要另外写一个回调函数,很不爽。
请教一个Boost signal2 的问题
<em>问题</em>代码如下rn[code=C/C++]rn#include rn#include rn#include rnrnstruct Hellornrn void operator()() constrn rn std::cout << "Hello";rn rn;rnrnstruct Worldrnrn void operator()() constrn rn std::cout << ", World!" << std::endl;rn rn;rnrn//[ good_morning_def_code_snippetrnstruct GoodMorningrnrn void operator()() constrn rn std::cout << "... and good morning!" << std::endl;rn rn;rn//]rnrnint main()rnrnrn <em>boost</em>::signals2::signal sig;rnrn <em>boost</em>::signals2::connection c1 = sig.connect(1, World()); // connect with group 1rn <em>boost</em>::signals2::connection c2 = sig.connect( 0,Hello()); // connect with group 0rnrn sig.connect(GoodMorning());rnrn sig();rn sig.disconnect(&Hello::operator());//这里的slot_fun该怎么写?rn //sig.disconnect(0); //这样是ok的,但是不能具体指定group里面的某个slot函数rn //c2.disconnect();//这样也是ok的rn sig();rnrn return 0;rnrn[/code]rn我这样写了后:rn sig.disconnect(&Hello::operator());//这里的slot_fun该怎么写?rn没有任何效果。。。。rnrn虽然下面这两种写法都是满足要求的:rn //sig.disconnect(0); //这样是ok的,但是不能具体指定group里面的某个slot函数rn //c2.disconnect();//这样也是ok的rnrn但是,我想直接指定disconnect 某个group里面的slot_fun,该怎么写呢?rn sig.disconnect([color=#FF0000]这里面怎么写呢?[/color]);
在线请教一个消息队列问题
rn屏幕上显示:rnrnevent queue maxqsize = 10 max default data size = 48rn_sr_current = 5 qsize = 3rnrnqueue[6] = ev_dev =17 ev_event = 129 = ox81 ev_len = 0 , REMOVED PROTECTEDrnrn...rnqueue[3] = ev_dev =17 ev_event = 131 = ox83 ev_len = 0 , REMOVED PROTECTEDrnqueue[2] = ev_dev =17 ev_event = 410 = ox1005 ev_len = 0 ,REMOVED PROTECTEDrnrnMax msqs on stream head at any time was 6rnmas events waiting on event queue at any time was 9rnrnSRL : acttemp to scan freed eventrnrnrndatap ->rnrn请问屏幕想对我说什么啊???rn
请教一下消息队列和子窗体的问题
一个主窗体创建了若干子窗体,每个子窗体是否都有属于自己的<em>消息队列</em>?
请教消息队列问题-------高分请教,不够再加.
web services怎么向internet上的不同客户端发送消息.公共队列可行么?具体怎么做?rn高分<em>请教</em>,不够再加.
请教BOOST 的ASIO编程问题
void accept_handler(<em>boost</em>::shared_ptr psocket, error_code ec) rn rn if(ec) return; rn // 继续等待连接 rn start(); rn // 显示远程IP rn std::cout << psocket->remote_endpoint().address() << std::endl; rn // 发送信息(非阻塞) rn <em>boost</em>::shared_ptr pstr(new std::string("hello async world!")); rn[color=#FF0000] psocket->async_write_some(buffer(*pstr) , rn <em>boost</em>::bind(&CHelloWorld_Service::write_handler, this, pstr, _1, _2) [/color]rn ); rn rnrn buffer 有个重载是 (void *p, int len) 可以支持自己的数组rnrn我改成:rn Class T ;rn T _Ty 是自己定义的一个模板类型rnrn void accept_handler(<em>boost</em>::shared_ptr psocket, error_code ec) rn rn if(ec) return; rn // 继续等待连接 rn start(); rn // 显示远程IP rn std::cout << psocket->remote_endpoint().address() << std::endl; rn // 发送信息(非阻塞) rn <em>boost</em>::shared_ptr pstr(new _Ty(m_pData)); rn [color=#FF0000]psocket->async_write_some(buffer(&pstr, sizeof(_Ty) ), [/color] <em>boost</em>::bind(&CHelloWorld_Service::write_handler, this, pstr, _1, _2) rn ); rn rn rnrnrn编译器编译不过了,<em>请教</em>这个<em>问题</em>如何解决,rn我想用ASIO 发送自己定义结构体的数据,请问还有其他更好的方法吗?rn谢谢大家!
boost lambda用法请教
rn没时间去看lambda怎么用了,我的<em>问题</em>是:rnrn我有一个std::vector foos;rnrn我想std::for_each(foos.begin(), foos.end(), ....想在这里填写...);rn我想使用lambda在”想在这里填写“ 那儿调用Foo的成员函数CreateFoo();该怎么写?rn我尝试写上std::for_each(foos.begin(), foos.end(), _1->CreateFoo());结果编译不过,该怎么写
请教boost::bind用法
有一映射函数,把str转换成一整数。注意不是类型转换,而是一种映射关系,类似电话号码簿。rnint convert(const std::string& str)rnrn有一个vector vecrnrn现在想根据vec中的string所对应的int对vec排序,应该怎么写?rnrnstd::sort(vec.begin(), vec.end(), <em>boost</em>::bind(???));rnrn
boost 内存池 请教
<em>请教</em>个<em>问题</em>rnrn<em>boost</em> 的内存池, 多线程安全不?
请教消息队列的知识
<em>消息队列</em>是如何实现,如何在其中收发消息,其数据结构如何?请指教,最好附源码实例结合讲解,thanks!rn
delphi 消息队列请教
delphi <em>消息队列</em>如何开启 可恢复模式把消息存在物理磁盘 如C#中的 rnSystem.Messaging .Message msg=new System.Messaging.Message ();rnmsg.Recoverable = true;//开启
请教有关boost的用法
在这里<em>请教</em><em>问题</em>的时候看到有人提到<em>boost</em>,rn 可是自己根本没有接触过,去它的网站看啊,全是英文,很吃力rn想在这里讨教一下
请教,关于rh7.2下消息队列
<em>请教</em>一下,rh7.2支持多少条<em>消息队列</em>?rnrn如果想更改需要怎样做?
请教消息队列”的使用
<em>请教</em>各位大侠:rn谁可以告诉我如何使用<em>消息队列</em>?能给具体例子吗?谢谢rnQQ:51981462
boost问题
[code=C/C++]1rnrnrn<em>boost</em>是编译器自带的吗,我的编译错误rn fatal error C1083: 无法打开包括文件:“<em>boost</em>/shared.h”: No such file or directoryrn我去查了查,vc9里的include文件,里面没找到<em>boost</em>头文件,是得自己下吗?rnrnrn2,这个错误怎么改rn map::iterator it;rn string s1;rn cin>>s1;rn it=m1.find(s1);rn rn if((it->second).current_amount_>(it->second).max_amount_)//??rnrn rn编译错误:rnrn参见对正在编译的类 模板 实例化“std::pair”的引用rn1> withrn1> [rn1> _Ty1=const std::string,rn1> _Ty2=studentsrn1> ]rnerror C2228: “.current_amount_”的左边必须有类/结构/联合rnerror C2228: “.max_amount_”的左边必须有类/结构/联合rnrn[/code]
BOOST问题
rn下载BOOST后,编译是否是多次一举呢
boost问题
哪位老大给我讲讲什么是<em>boost</em>rn以及怎么用
boost问题
下载安装之后,rn输入测试代码rnrn#include "<em>boost</em>/lambda/lambda.hpp"rn#include rn#include rn#include rnusing namespace std;rnrnint main()rnrn using namespace <em>boost</em>::lambda;rn typedef istream_iterator in;rnrn for_each(rn in(scin), in(), cout << (_1 * 3) << " " );rn return 0;rnrn--------------------Configuration: <em>boost</em>_01 - Win32 Debug--------------------rnCompiling...rn<em>boost</em>_01.cpprnd:\<em>boost</em>_1_34_0\<em>boost</em>\lambda\detail\lambda_fwd.hpp(26) : fatal error C1001: INTERNAL COMPILER ERRORrn (compiler file 'msc1.cpp', line 1786) rn Please choose the Technical Support command on the Visual C++ rn Help menu, or open the Technical Support help file for more informationrn执行 cl.exe 时出错.rnrn<em>boost</em>_01.exe - 1 error(s), 0 warning(s)rnrnrn请高手指点一下,我用的VC6.0
消息队列问题
为了编程的需要,我在Win2000 professional安装了<em>消息队列</em>MSMQ,可不知道为什么,在安全选项里不管是更新内部证书还是更新密钥都报错说:无法为此计算机创建内部证书。错误:0xc00e0011。不知道是为什么?并且在安装<em>消息队列</em>MSMQ之前和之后我都重装了一边sp2。(后来我在另一台win2000 server上试了一下居然也是同样的<em>问题</em>并且报错的也是0xc00e0011,不知道是为什么)rnrn请各位大虾指教?
消息队列问题???
<em>消息队列</em>传输需要如何配置权限方面呀?我现在在二台服务器上使用<em>消息队列</em>通讯,A服务器上部署的是Web网站,B服务器上部署的是<em>消息队列</em>处理服务,现在通过A服务器发送的<em>消息队列</em>B服务器接受不到,请问需要检查或配置些什么?可以确定的是A服务器到B服务器的防火墙没有屏蔽<em>消息队列</em>的1801端口。rn rn rn rnA发送<em>消息队列</em>到B的地址配置为 FormatName:DIRECT=TCP:10.XX.X.X\private$\Logrn
消息队列问题
我需要从<em>消息队列</em>中异步获取消息,并将消息消息显示在DataGrid控件中,每次都收到新消息时,把它添加到DataGrid控件中。我使用以下代码实现:rn private DataSet dsWarning;rn private DataTable dtWarning;rn rn private void frmMonitor_Load(object sender, System.EventArgs e)rn rnrn dtWarning=dsWarning.Tables.Add("WarningMessage"); rnrn dtWarning.Columns.Add("EventTitle", typeof(String));rn dtWarning.Columns.Add("EventSource", typeof(String));rn dtWarning.Columns.Add("EventType", typeof(String));rn dtWarning.Columns.Add("EventOccurTime", typeof(String));rn dtWarning.Columns.Add("EventDescription", typeof(String));rn rn dgridWarningMessage.SetDataBinding(dsWarning,"WarningMessage");rn rn Receive();rn rn rn rn private void Receive()rn rn MessageQueue mq=new MessageQueue(".\\private$\\alarm_queue$"); rn mq.Formatter=new XmlMessageFormatter(new string[]"System.String,mscorlib"); rn mq.ReceiveCompleted+=new System.Messaging.ReceiveCompletedEventHandler(OnReceiveComplete); rn mq.BeginReceive(); rn rnrn private void OnReceiveComplete(Object sender,System.Messaging.ReceiveCompletedEventArgs e)rn rn MessageQueue mq = (MessageQueue)sender;rn System.Messaging.Message m = mq.EndReceive(e.AsyncResult);rn m.Formatter = new System.Messaging.XmlMessageFormatter(new String[]"System.String,mscorlib");rn rn string warningMsg=(string)m.Body;rnrn WarningPaser wp=new WarningPaser();rnrn DataRow drWarning=wp.GetWarningRow(warningMsg,dtWarning);rnrn dtWarning.Rows.Add(drWarning);rnrn mq.BeginReceive();rn rnrn在运行的过程中,能够处理新收到的消息,并且显示出来。但是不能响应其他的操作,比如最大化或最小化,呈现死机状态。
消息队列问题
<em>消息队列</em>的去重和幂等处理
消息队列 问题
我在win2000中安装 <em>消息队列</em>服务 后。点击 <em>消息队列</em>属性时,出现 <em>消息队列</em>服务错误对话框。 对话框中的内容为 :“无法取得安全描述符。错误:对于WORKGROUP 安装计算机,操作不受支持。”rn 也无法在公用队列中添加队列。rn 怎么办啊??????
消息队列问题
同一个域当中的A机器可以访问域当中的B机器里面的<em>消息队列</em>内的private queues吗?rn如果可以的话,如何往private queues内自建的队列Q1当中写入消息?
请教:boost::shared_ptr自定义析构器的问题.
为了防止对象在不同模块之间传递,使用对象自定义的清理函数同时完成析构和内存释放的操作.为了防止不正常的使用delete来删除对象,我将析构函数放到了protected里面:rnclass Interfacernrnprotected:rn ~Interface()rnpublic:rn virtual void release() = 0;rn virtual void foo() = 0;rn;rnrnclass CA : public Interfacernrnpublic:rn static CA* create();rn virtual void release();rn virtual void foo();rn;rnrn但是这样在使用<em>boost</em>::shared_ptr的时候却发生了<em>问题</em>:<em>boost</em>::shared_ptr好像必须有public的析构函数,即使是我想使用自定义的析构器也不行.rnrn<em>请教</em>这个<em>问题</em>该怎么解决,谢谢~~
请教关于Boost和STLport两个库的问题
最近写了一个小程序,程序用到了<em>boost</em>库和stlport库。但是编译时候,出现了很多错误,一直困扰我解决不了。因为<em>boost</em>里用到了std的个别函数,编译时候就会去stlport库里找,搞得挺乱的。有使用经验的朋友请帮忙指导指导。谢谢。rnrnerror C2039: 'localtime' : is not a member of 'stlpd_std'rnerror C2660: '<em>boost</em>::date_time::c_time::localtime' : function does not take 1 argumentsrnerror C2039: 'gmtime' : is not a member of 'stlpd_std'rnerror C2660: '<em>boost</em>::date_time::c_time::gmtime' : function does not take 1 argumentsrnerror C2039: 'abort' : is not a member of 'stlpd_std'rnerror C3861: 'abort': identifier not foundrnerror C2039: 'bad_alloc' : is not a member of 'stlpd_std'rnerror C3861: 'bad_alloc': identifier not foundrnerror C2039: 'localtime' : is not a member of 'stlpd_std'rnerror C2660: '<em>boost</em>::date_time::c_time::localtime' : function does not take 1 argumentsrnerror C2039: 'gmtime' : is not a member of 'stlpd_std'rnerror C2660: '<em>boost</em>::date_time::c_time::gmtime' : function does not take 1 argumentsrnerror C2039: 'abort' : is not a member of 'stlpd_std'rnerror C3861: 'abort': identifier not foundrnerror C2039: 'bad_alloc' : is not a member of 'stlpd_std'rnerror C3861: 'bad_alloc': identifier not foundrnerror C2039: 'abort' : is not a member of 'stlpd_std'rnerror C3861: 'abort': identifier not foundrnerror C2039: 'localtime' : is not a member of 'stlpd_std'rnerror C2660: '<em>boost</em>::date_time::c_time::localtime' : function does not take 1 argumentsrnerror C2039: 'gmtime' : is not a member of 'stlpd_std'rnerror C2664: '<em>boost</em>::throw_exception' : cannot convert parameter 1 from '<em>boost</em>::numeric::negative_overflow' to 'const stlpd_std::exception &'rn1> Reason: cannot convert from '<em>boost</em>::numeric::negative_overflow' to 'const stlpd_std::exception'rn1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be calledrnerror C2664: '<em>boost</em>::throw_exception' : cannot convert parameter 1 from '<em>boost</em>::numeric::positive_overflow' to 'const stlpd_std::exception &'rn1> Reason: cannot convert from '<em>boost</em>::numeric::positive_overflow' to 'const stlpd_std::exception'rn1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be calledrn1>.\RainbowKeyImpl.cpp(58) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
请教一个关于boost::thread_group的问题
我想在多线程中像如下这种方式使用<em>boost</em>::thread_group:rn[code=C/C++]rnvoid thread2();rnvoid thread1(<em>boost</em>::thread_group& tg)rnrn // create an other thread in the thread_grouprn tg.create_thread(thread2);rn // do some workrn for(;;)rn rn //...rn rnrnrnvoid thread2()rnrn // do some workrn for(;;)rn rn //...rn rnrnrnint main()rnrn <em>boost</em>::thread_group tg;rn tg.create_thread(<em>boost</em>::bind(thread1, <em>boost</em>::ref(tg)));rn tg.join_all();rn return 0; rnrn[/code]rnrn这里tg.join_all();上好像可能存在一些安全<em>问题</em>,我不知道当一个线程在thread_group上等待的时候,在另外的线程中调用<em>boost</em>::thread_group::create_thread是否安全.rn我查看了一下源代码,发现thread_group是利用std::list保存一组thread对象,然后用一个shared_mutex来进行同步.它在create_thread上使用lock,在join_all上使用shared lock.rn这是否意味着以上的代码可能出现死锁,如果主线程中的"tg.join_all()"先于线程1中的"tg.create_thread(thread2);"运行,那么"tg.join_all()"会先获得共享锁,然后线程1会一直在"tg.create_thread(thread2);"等待共享锁被释放.但是"tg.join_all()"又在等待线程1执行完成.rnrn我该如何实现在多个线程中操作一组线程,并且能安全等待的需求呢?rn谢谢!
请教boost编译问题,请指教,谢谢!!
操作系统:solarisrn编译器:gcc3.4.6rn<em>boost</em>:1.37.0rn<em>问题</em>:使用<em>boost</em>_1_37_0/下的configure,编译出来的库都是*.a,没有*.so的库。不知道什么原因,请指点下。谢谢!!
请教:使用boost::asio库,acceptor的问题
各位好,写了一个跨平台通信库,使用了<em>boost</em>::asio,在windows/osx/linux/Android(NDK)编译测试都OK,rnrn但是,在用java通过jni调用的时候,出现了阻塞。rnrn代码如下:rnrn[code=C/C++]rnrn typedef <em>boost</em>::asio::ip::tcp::acceptor AcceptorType;rn typedef <em>boost</em>::asio::ip::tcp TcpType;rn AcceptorType m_acceptor;rnrn TcpType::endpoint endpoint(TcpType::v4(), m_port); rn m_acceptor.open(endpoint.protocol()); // 这里会阻塞!!!rn m_acceptor.set_option(AcceptorType::reuse_address(true));rn m_acceptor.bind(endpoint);rn m_acceptor.listen();rn[/code]rnrn百思不得其解,在各个平台都工作正常,NDK模式下测试也没<em>问题</em>,偏偏在java通过jni调用的时候,出现阻塞情况。rnrn<em>请教</em>各路高手指点!rn
请教boost::bind中使用的一个问题.
精简后的代码如下:rn[code=C/C++]rn#include rn#include rn#include rnrntemplaternvoid two_handler_test_func(const char* p1, const char* p2, Handler1 handler1, Handler2 handler2)rnrn handler1(<em>boost</em>::system::error_code());rn handler2(<em>boost</em>::system::error_code());rnrnrnclass MyTestClassrnrnpublic:rn templatern void test_func(const std::string& p1, const std::string& p2, Handler handler)rn rn two_handler_test_func(p1.c_str(), p2.c_str(), rn <em>boost</em>::bind(&MyTestClass::handle_test_func1, this, _1, handler),rn <em>boost</em>::bind(&MyTestClass::handle_test_func2, this, _1, 2));rn rnrnprivate:rn templatern void handle_test_func1(const <em>boost</em>::system::error_code& ec, Handler handler)rn rn handler(ec);rn rnrn void handle_test_func2(const <em>boost</em>::system::error_code& ec, int b)rn rnrn;rnrnvoid command_listen_finished(const <em>boost</em>::system::error_code& ec, int i)rnrnrnvoid command_listen_finished2(const <em>boost</em>::system::error_code& ec)rnrnrnclass TestCallbackrnrnpublic:rn TestCallback(int i)rn :m_i(i)rn rnrn void operator()(const <em>boost</em>::system::error_code& ec)rn rnprivate:rn int m_i;rn;rnrnint main()rnrn MyTestClass testClass;rn testClass.test_func("abc", "def", <em>boost</em>::bind(command_listen_finished, _1, 1));rn //testClass.test_func("abc", "def", command_listen_finished2);rn //testClass.test_func("abc", "def", TestCallback(1));rn return 0;rnrn[/code]rnrn最后三个函数,testClass.test_func:rn第一个无法编译通过,第二个和第三个都可以直接编译通过.rn按道理来讲,第一个其实应该是<em>boost</em>::bind构造了一个和TestCallback一样的函数对象.rn<em>请教</em>这里面是哪里写错了?rnrn我使用的是VC9,版本编号是:rnMicrosoft Visual Studio 2008rnVersion 9.0.30729.1 SPrnMicrosoft .NET FrameworkrnVersion 3.5 SP1rnrnInstalled Edition: EnterprisernrnMicrosoft Visual C++ 2008 91899-153-0000007-60183rn
请教boost::bind绑定多态函数的问题
假设有两个函数,声明如下:rnfun(A a);rnfun(B b);rnrnA和B是两个类,这个fun都只有一个参数,知识参数类型不同...rn当我是用<em>boost</em>::bind(fun, _1)绑定函数时,它的返回值是什么?rnrn因为我需要这个返回类型,把它存到一个vector里面做回调...rnrnPS:顺便问一句rn我觉得这种绑定完全不知道参数类型啊...rn我调用的时候是否可以用A也可以用B?回调的时候也能多态?
消息队列问题?????????
mqd_t mqd;rn struct mq_attr mqa;rn memset(&mqa,0,sizeof(mqa));rn mqa.mq_maxmsg=32;rn mqa.mq_msgsize=1024;rn mqd=mq_open("/messagetest",O_CREAT | O_RDWR,0644,&mqa);rn //mqd老返回-1,不能设置消息数和大小吗???把&mqa设置成NULL才可以创建成功。怎么回事情啊??rn memset(&mqa,0,sizeof(mqa));rn mq_getattr(mqd,&mqa);rn mq_close(mqd);
请教一个关于boost/serialization的问题
不好意思,没有分了,拿出来大家讨论一下吧.rnrn原代码如下:rn[code=C/C++]//TASendingQueue.hrn#include rn#include rn#include rn#include rn#include rn#include rnrnusing namespace std;rnclass TASendingQueuernrnprivate:rn list m_toSendTAList; rn friend class <em>boost</em>::serialization::access;rn templatern void serialize(Archive &ar, const unsigned int vertion)rn rn ar & m_toSendTAList; rn rnrnpublic: rn rn void SaveQueue();rn void RestoreQueue();rn rn;rnrn//BOOST_CLASS_TRACKING(TASendingQueue, <em>boost</em>::serialization::track_never)rnrn//TASendingQueue.cpprn#include "TASendingQueue.h"rnrnrnvoid TASendingQueue::SaveQueue()rnrn ofstream ofs("test.log");rn <em>boost</em>::archive::text_oarchive oa(ofs);rn oa << m_toSendTAList;rn ofs.close();rnrnrnvoid TASendingQueue::RestoreQueue()rnrn m_toSendTAList.clear();rn ifstream ifs("test.log", ios::binary);rn <em>boost</em>::archive::text_iarchive ia(ifs);rn ia >> m_toSendTAList;rn ifs.close();rn[/code]rnrn出现了下面这样的错误:rn错误: use of undefined type '<em>boost</em>::STATIC_ASSERTION_FAILURE'rn用BOOST_CLASS_TRACKING(TASendingQueue, <em>boost</em>::serialization::track_never)也无法解决rn大家讨论一下吧.
请教一个关于boost正则表达式的问题
[code=c](?<=和?:操作的。rnrn比如提取:rn[code=sql]select * from table_name;[/code]rn哪位熟悉<em>boost</em>库的高手指点一下。rn或者使用其他语法来实现提取sql语句中表名的功能。
请教一个关于posix消息队列问题
<em>问题</em>: 使用mq_open 函数普通权限运行时提示错误mq_open:“Permission denied ”rn 在root权限下运行没有<em>问题</em>。我现在想在普通权限下运行,不知道怎么改,麻烦各位帮我看下,先谢过。。rnrn写个小程序测试了下:rn#includern#includern#includern#includern#define FILE_MODE S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRPrnint main()rnrn struct mq_attr attr;rnrn attr.mq_flags = O_RDWR|O_CREAT;rn attr.mq_maxmsg = 64;rn attr.mq_msgsize = 64;rn attr.mq_curmsgs = 0;rnrn char key[14];rn strncpy(key, "/test", strlen("/test") );rn mq_unlink(key);rnrn mqd_t value = mq_open(key , attr.mq_flags,FILE_MODE,&attr);rnrn if ( value == -1)rn perror("mq_open\n");rn elsern perror("mq_open\n");rn rn return 0;rnrn
请教一个消息队列问题,在线等候
rn屏幕上显示:rnrnevent queue maxqsize = 10 max default data size = 48rn_sr_current = 5 qsize = 3rnrnqueue[6] = ev_dev =17 ev_event = 129 = ox81 ev_len = 0 , REMOVED PROTECTEDrnrn...rnqueue[3] = ev_dev =17 ev_event = 131 = ox83 ev_len = 0 , REMOVED PROTECTEDrnqueue[2] = ev_dev =17 ev_event = 410 = ox1005 ev_len = 0 ,REMOVED PROTECTEDrnrnMax msqs on stream head at any time was 6rnmas events waiting on event queue at any time was 9rnrnSRL : acttemp to scan freed eventrnrnrndatap ->rnrn请问屏幕想对我说什么啊???rn
请教一个boost parse xml的问题
弄了半天,弄不来,哪位能帮忙?rn[code=XML]rnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn[/code]
请教boost::thread和WINAPI createThread的问题
想把CreateThread用<em>boost</em>::thread来实现,各位高手给点意见,怎么重构这个函数rnCreateThread原型:rnWINBASEAPIrn__out_optrnHANDLErnWINAPIrnCreateThread(rn __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,rn __in SIZE_T dwStackSize,rn __in LPTHREAD_START_ROUTINE lpStartAddress,rn __in_opt LPVOID lpParameter,rn __in DWORD dwCreationFlags,rn __out_opt LPDWORD lpThreadIdrn );rn请问怎么实现?
请教boost里面async_read_some的一个问题
rn最近在项目中使用<em>boost</em>,但是测试的时候发现这样一个现象:rnrn使用tcp::socket.async_read_some来接收数据,与客户端建立连接后,强制退出客户端,异步回调函数会被调用,但是传入的error_code竟然是0,即没有错误返回。rnrn客户端强制断开连接,处于半连接状态,我期望应该会返回错误码EOF,而实际情况却与期望不一致。rnrnrn不知道你们遇到过这种情况?
请教boost:asio读取串口的基础问题
http://www.cppprog.com/2009/0720/133_5.htmlrn用<em>boost</em>::asio进行串口读取的方法在上面的网页里有介绍rnrn读串口时,请问如果读到的字符数不满缓冲区,怎样才能把实际读取到的字节数保存到一个变量里?
请教两个问题:1)消息队列溢出怎么办?
我的程序要处理一个数据采集系统的数据,采样率为1MHZ以上,当每次采样完成后,驱动rn发送一个消息给当前窗口。这样就导致了<em>消息队列</em>溢出,程序运行一段时间后就当掉。rn<em>请教</em>各位,有没有办法控制<em>消息队列</em>?谢谢
新手,100分请教一个消息队列问题
新手,100分<em>请教</em>一个<em>消息队列</em><em>问题</em>。rnrn公司一个已经离职的同事留下的源代码。rnrn...... //开一个线程,去做一些事情,做完把bFinished置TRUErnrnwhile not bFinished dorn beginrn if (PeekMessage(lpMsg, 0, 0, 0, PM_REMOVE)) thenrn beginrn TranslateMessage(lpMsg);rn DispatchMessage(lpMsg);rn end;rn end;rnrn......//做一些free动作,退出函数。rnrnrn我大致知道PeekMessage是从<em>消息队列</em>里取一个消息,TranslateMessage是转化键盘消息,DispatchMessage是分发消息。但只是大致知道,还不够透彻。哪位高手能够分析得更详细一点:rnrn1.PeekMessage从<em>消息队列</em>里取一个消息,是操作系统有一个<em>消息队列</em>,还是每个程序都一个<em>消息队列</em>,dll和应用程序共用<em>消息队列</em>还是自己有<em>消息队列</em>?rnrn2.最后一个参数使用PM_REMOVE和PM_NOREMOVE有什么区别?什么情况下使用前者什么情况下使用后者?这是一个dll的导出函数,我把它换成PM_NOREMOVE会不会有什么不好的后果?rnrn3.我换成PM_NOREMOVE以后,做完事情到函数退出之间得时间变短了,这是为什么?rnrn
请教大家一个关于线程和消息队列问题
我在公司熟悉一个程序的代码rn也是WinCE平台的程序rnwin32的程序一开始就有创建窗口rn网上查了下只有GUI线程才有<em>消息队列</em>rn那一开始这个主线程肯定有属于自己的<em>消息队列</em>咯rnrn然后我看着看着rn看到了rn在一个新建的线程内创建了定时器rn然后GetMessagern这我就奇怪了rn这个线程肯定没有创建窗口对象啊rn这样难道不会影响到原来那个窗口获取<em>消息队列</em>当中的消息吗?rnrn所以我想问的就是rn如果在GUI线程当中创建一个线程rn这个线程会有属于自己的<em>消息队列</em>吗?rnrn谢谢大家指教
请教一个消息队列问题:在线等候
rn屏幕上显示:rnrnevent queue maxqsize = 10 max default data size = 48rn_sr_current = 5 qsize = 3rnrnqueue[6] = ev_dev =17 ev_event = 129 = ox81 ev_len = 0 , REMOVED PROTECTEDrnrn...rnqueue[3] = ev_dev =17 ev_event = 131 = ox83 ev_len = 0 , REMOVED PROTECTEDrnqueue[2] = ev_dev =17 ev_event = 410 = ox1005 ev_len = 0 ,REMOVED PROTECTEDrnrnMax msqs on stream head at any time was 6rnmas events waiting on event queue at any time was 9rnrnSRL : acttemp to scan freed eventrnrnrndatap ->rnrn请问屏幕想对我说什么啊???rn
boost::xpressive 向高手请教
<em>boost</em>::xpressive 向高手<em>请教</em>,如下:rn<em>boost</em>::xpressive::wsregex expression = <em>boost</em>::xpressive::wsregex::compile(L"&#(?\d+)");rn1、编译没<em>问题</em>,执行此行出异常。rn2、看了一下异常是error_badbrace rnrn(此正则式在<em>boost</em>::wsregex没<em>问题</em>如:wsregex expression(L"&#(?\d+)");)rn
请教:关于boost::bind的用法
[code=C/C++]rnrnrn#include rn#include rnrnusing namespace std;rnrnclass TESTrnpublic:rn void Print(int ival)rn rn cout<<
初学boost请教一个程序
刚开始学,不会写。能不能写一个 rnrn替换字符串里 含有 。,;《》%@!!~ 变成空格 的程序
请教VB读写消息队列(高分请教,谢谢)
<em>请教</em>如何检索服务端上的所有<em>消息队列</em>及其队列上数据
boost 线程处理消息队列崩溃 ,不知道怎么同步 在线等!!!
用的是跨平台<em>boost</em> 线程,开1000个线程处理队列的里面的数据,因为对线程不熟所以,可到最后,程序崩溃了?不知如何是好?rnrn望大牛们指点迷津。rnrndhw_UrlPath::instance()为队列,进队列是在线程处理过程当中,写进去的。rnrn[code=C/C++]#include "getHtml.h"rn#include "parserHtml.h"rn#include "parserUrl.h"rn#include rn#include rn#include rn#include rn#include rnrnrn//这个地方到底,应该怎么写呀?rnvoid runChild(const int n)rnrn <em>boost</em>::mutex::scoped_lock lock(io_mutex);rn if (!dhw_UrlPath::instance()->isEmpty())rn rn dhw_UrlPath::instance()->size();rn UrlPath * url = dhw_UrlPath::instance()->front();//得到数据rn dhw_UrlPath::instance()->pop();//弹出rn getHtml * gh = new getHtml;rn gh->setUrl(url);rn gh->doWork();rn delete gh;rn rnrnrnrnint main() rn rn thread_group threads;rn for(int i = 0; i < num; i++)rn rn threads.create_thread(bind(&runChild, i));rn rn threads.join_all();rnrn return 0;rnrn[/code]rnrnrn下面是dhw_UrlPath:rn[code=C/C++]template rnclass Singletonrnrnpublic:rn static inline T* instance();rnprivate:rn Singleton(void)rn ~Singleton(void)rn Singleton(const Singleton&)rn Singleton & operator= (const Singleton &)rn static auto_ptr _instance;rn static CResGuard _rs;rn;rnrntemplate rnauto_ptr Singleton::_instance;rntemplate rnCResGuard Singleton::_rs;rntemplate rninline T* Singleton::instance()rnrn if( 0 == _instance.get() )rn rn CResGuard::CGuard gd(_rs);rn if( 0== _instance.get())rn rn _instance.reset ( new T);rn rn rn return _instance.get();rnrnrn#define DECLARE_SINGLETON_CLASS( type ) friend class auto_ptr< type >; friend class Singleton< type >;rnrnclass queue_UrlPathrnrnpublic:rn void Run()rn rn rnrn void push(UrlPath* _up)rn rn m_qUrlPath.push(_up);rn rn void pop()rn rn m_qUrlPath.pop();rn rn rn UrlPath * front()rn rn return m_qUrlPath.front();rn rn rn bool isEmpty()rn rn return m_qUrlPath.empty();rn rn rn void size()rn rn cout<<< m_qUrlPath.size()< m_qUrlPath;rn DECLARE_SINGLETON_CLASS(queue_UrlPath);rn;rnrntypedef Singleton dhw_UrlPath;rn[/code]
请教: 工作线程怎样用消息队列通信 ?
如题,最好能给个例子
[BOOST]boost编程中出现的问题
1 <em>问题</em> g++11 <em>boost</em>_test.cpp -g -o main -l<em>boost</em>_thread /usr/bin/ld: /tmp/cczHwfIG.o: undefined reference to symbol '_ZN5<em>boost</em>6system15system_categoryEv' //usr/lib/x86_64-linux-gnu/lib<em>boost</em>_system.so.1....
boost::function和boost::bind相关问题...
绑定代码:rn[code=C/C++]rn<em>boost</em>::shared_ptr send_buffer(new string(encode(*_msg)));rnrn <em>boost</em>::functionsend_call_back = <em>boost</em>::bind(rn &Connection::async_send_msg_call_back,rn this,rn <em>boost</em>::asio::placeholders::error,rn <em>boost</em>::asio::placeholders::bytes_transferred,rn send_bufferrn );rn[/code]rnrn回调函数原型:rnvoid Connection::async_send_msg_call_back(rn <em>boost</em>::system::error_code& ec,rn std::size_t bytes_transferred,rn <em>boost</em>::shared_ptr send_buffer)rnrn rnrn[/code]rnrn以上这个是模仿asio下的async_read_some写的,它的源码注释中有(basic_stream_socket.hpp)rn @code void handler(rn * const <em>boost</em>::system::error_code& error, // Result of operation.rn * std::size_t bytes_transferred // Number of bytes written.rn * ); @endcodernrn编译出错....rn一大堆模板报错...你们不想看的...rnrn1>------ 已启动生成: 项目: Slave, 配置: Debug Win32 ------rn1> Connection.cpprn1> Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:rn1> - add -D_WIN32_WINNT=0x0501 to the compiler command line; orrn1> - add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.rn1> Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “result_traits::type <em>boost</em>::_bi::list0::operator [](const <em>boost</em>::_bi::bind_t &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(178) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind_template.hpp(20): 参见对正在编译的函数 模板 实例化“void <em>boost</em>::_bi::list4::operator ()(<em>boost</em>::_bi::type,F &,A &,int)”的引用rn1> withrn1> [rn1> A1=<em>boost</em>::_bi::value,rn1> A2=<em>boost</em>::arg,rn1> A3=<em>boost</em>::arg,rn1> A4=<em>boost</em>::_bi::value>,rn1> F=<em>boost</em>::_mfi::mf3>,rn1> T=void,rn1> A=<em>boost</em>::_bi::list0rn1> ]rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind_template.hpp(18): 编译类 模板 成员函数“void <em>boost</em>::_bi::bind_t::operator ()(void)”时rn1> withrn1> [rn1> R=void,rn1> F=<em>boost</em>::_mfi::mf3>,rn1> L=<em>boost</em>::_bi::list4,<em>boost</em>::arg,<em>boost</em>::arg,<em>boost</em>::_bi::value>>rn1> ]rn1> d:\scn\slave\slave\connection.cpp(29): 参见对正在编译的类 模板 实例化“<em>boost</em>::_bi::bind_t”的引用rn1> withrn1> [rn1> R=void,rn1> F=<em>boost</em>::_mfi::mf3>,rn1> L=<em>boost</em>::_bi::list4,<em>boost</em>::arg,<em>boost</em>::arg,<em>boost</em>::_bi::value>>rn1> ]rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “result_traits::type <em>boost</em>::_bi::list0::operator [](<em>boost</em>::_bi::bind_t &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(176) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “T &<em>boost</em>::_bi::list0::operator [](const <em>boost</em>::reference_wrapper &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(174) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “const T &<em>boost</em>::_bi::list0::operator [](const <em>boost</em>::_bi::value &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(172) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “T &<em>boost</em>::_bi::list0::operator [](<em>boost</em>::_bi::value &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(170) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2676: 二进制“[”:“<em>boost</em>::_bi::list0”不定义该运算符或到预定义运算符可接收的类型的转换rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “result_traits::type <em>boost</em>::_bi::list0::operator [](const <em>boost</em>::_bi::bind_t &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(178) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “result_traits::type <em>boost</em>::_bi::list0::operator [](<em>boost</em>::_bi::bind_t &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(176) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “T &<em>boost</em>::_bi::list0::operator [](const <em>boost</em>::reference_wrapper &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(174) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “const T &<em>boost</em>::_bi::list0::operator [](const <em>boost</em>::_bi::value &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(172) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2784: “T &<em>boost</em>::_bi::list0::operator [](<em>boost</em>::_bi::value &) const”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数rn1> d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(170) : 参见“<em>boost</em>::_bi::list0::operator []”的声明rn1>d:\<em>boost</em>_1_50_0\<em>boost</em>\bind\bind.hpp(457): error C2676: 二进制“[”:“<em>boost</em>::_bi::list0”不定义该运算符或到预定义运算符可接收的类型的转换rn========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========rn
消息队列的定义,以及引入消息队列可解决的问题
<em>消息队列</em>的定义,以及引入<em>消息队列</em>可解决的<em>问题</em>   1. <em>消息队列</em>中的“消息”即指同一台计算机的进程间,或不同计算机的进程间传送的数据;“<em>消息队列</em>”是在消息的传输过程中保存消息的容器。 消息被发送到队列中,<em>消息队列</em>充当中间人,将消息从它的源中继到它的目标。 2. 传统的进程通信模式如图1左所示:client调用service,等待service的响应。但是这种模式有很多弊端: -网络情况...
请教一个boost官网以及boost官方社区链接
如题,这<em>问题</em>很傻B,但是我确实没找到。我只找到这个http://www.<em>boost</em>.org 然后是这个http://www.<em>boost</em>.org/doc/,我不确定里面的doc是否是Boost的官方文档,因为我读了几篇感觉不太像。rn好吧,<em>问题</em>是:rn请给我一个官方文档的链接,我想从头到尾好好看看Boost。好的答案我加分!rnNOTE:百度出来的那些冒牌的中文社区,请不要贴上来了,谢谢了!
新手请教: Boost::Regex 与 Boost::regex 有什么差别?
网上的文章大多是介绍 Boost::regex的(头文件是 regex.hpp)rnrn我自己用的是Boost::Regex(头文件是regex.h)rnrn一直觉得奇怪,二者有什么区别? Boost::Regex的介绍似乎很少rnrn
请教】经常听人说boostboost是啥咚咚?
经常听人说<em>boost</em>,和STL相提并论,<em>boost</em>是一套模板库?
boost
<em>boost</em> 库 的INCLUDE
BOOST
在vs中我用的<em>boost</em>中的文件有lib<em>boost</em>_system-vc90-mt-gd-1_47.lib但是运行提示错误是lib<em>boost</em>_system-vc100-mt-gd-1_47.lib是不是这个和<em>boost</em>的版本有<em>问题</em>?
boost::functoin和boost::bind
int foo(const char *s, int i)rnrn cout << s << i << endl;rn return 0;rnrnint main()rnrn <em>boost</em>::function fun4rn = <em>boost</em>::bind(<em>boost</em>::type(), &foo, "abc", _1);//compile errorrn <em>boost</em>::function fun3rn = <em>boost</em>::bind(<em>boost</em>::type(), &foo, "abc", _2);//compile okrn (<em>boost</em>::bind(<em>boost</em>::type(), &foo, "abc", _1))(2); //compile okrn return 0;rnrnrn我的<em>问题</em>是为什么第一条语句是错的呢?怎样修改呢?我的目的是想让“abc”成为fun4的第一个默认参数。rnrn多谢各位
boost资料boost资料boost资料
<em>boost</em>资料<em>boost</em>资料<em>boost</em>资料<em>boost</em>资料
请教微软的消息队列MSMQ与IBM的消息队列怎么互联啊?急
<em>请教</em>微软的<em>消息队列</em>MSMQ与IBM的<em>消息队列</em>怎么互联,非常着急,没接触过<em>消息队列</em>,请高手指教!
恢复工具FinalData下载
FinalData 使用这一项原则复原数据, 甚至那之后使再循环箱柜已经被倒空。 除此之外, FinalData 容易地能够复原划除文件和被病毒损害的硬盘数据或被意外的 格式。 甚至在极端的情况, 在目录结构被部份地损害的地方, FinalData 能复原文件 只要数据在硬盘上保持。 相关下载链接:[url=//download.csdn.net/download/xingguang666/2390824?utm_source=bbsseo]//download.csdn.net/download/xingguang666/2390824?utm_source=bbsseo[/url]
Oracle基础快速入门下载
Oracle基础快速入门Oracle基础快速入门Oracle基础快速入门Oracle基础快速入门 相关下载链接:[url=//download.csdn.net/download/ginalover/2580749?utm_source=bbsseo]//download.csdn.net/download/ginalover/2580749?utm_source=bbsseo[/url]
2012.2.4最新脚本ROS下载
2012.2.4最新脚本ROS 相关下载链接:[url=//download.csdn.net/download/yanbin688/4152227?utm_source=bbsseo]//download.csdn.net/download/yanbin688/4152227?utm_source=bbsseo[/url]
我们是很有底线的