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

问题描述 投票:0回答:1

我已将我的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的限制......即。它只支持套接字,而不支持定时器等......

c++ windows libev
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.