2017-11-22 9 views
0

私はLibevを使用するWindowsからLinuxへ私のC++アプリケーションを移植しました。タイマーは以下のようにlibevはコード...サンプル・コードで開始されたとき、しかし、私たちはlibevは、EV :: IOを使用してクライアントからの接続を受け入れることができます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); 

...私のコードでタイムエラーを実行します。しかし、私はそれがev :: timerコードに触れると、実行時例外を取得します。 私の質問は、Windowsでこの問題を克服できますか?それはWindows上のLibevの制限です。それはソケットだけをサポートし、タイマーなどはサポートしていません。

答えて

0

ええ、Linux上ですでに正常に動作しているコードについては、Windows上でTimers of Libevを何も変更せずに使用できます...それは移植されたプロジェクトで証明されましたC++を使ってLinuxからウィンドウに私のコードで以前に発生した例外は、タイマーのためではなく、ソケットプログラミングのsend関数とrecv関数で間違ってfdを使用することによるものです。リベフは、それがサポートしている施設で本当に簡単で偉大な図書館です...

関連する問題