我可以在Windows上的Libev中使用Timers吗?

时间:2017-11-22 04:56:29

标签: c++ windows libev

我已将我的C ++应用程序从Linux移植到使用Libev的Windows。但是当我的代码在libev代码中启动时,我的代码中出现运行时错误...示例代码如下...

io.set<CHandlerAlwaysOn, &CHandlerAlwaysOn::callback>(this);
io.set(loop);
io.start(sfd,event);
//ev::timer tim;
tim.set<CHandlerAlwaysOn,&CHandlerAlwaysOn::cb_timeout>(this);
tim.set(loop);
tim.start(ntimeout,0.);
ev_run(loop,0);

我们可以使用libev,ev :: io接受来自客户的连接。但是当它触及ev :: timer代码时我得到运行时异常。         所以我的问题是我可以在Windows上克服这个问题吗?或者它是对Windows上的Libev的限制......即。它只支持套接字,而不支持定时器等......

1 个答案:

答案 0 :(得分:0)

是的,我们可以在Windows上使用Timef of Libev,而不会对已在Linux上成功运行的代码进行任何更改......在我的项目中证明了这一点已经使用C ++从Linux移植到Windows。之前在我的代码中发生的异常不是因为定时器,而是在套接字编程的send和recv函数中错误地使用fd。 Libev是一个非常简单而且很棒的库,可用于它所支持的设施...