主函数

时间:2017-11-05 23:08:02

标签: c++ boost boost-asio

目前正在查看比Boost.Asio网站上提供的更详细的教程(https://www.gamedev.net/blogs/entry/2249317-a-guide-to-getting-started-with-boostasio/),但仍有一些我不理解的事情。

鉴于此功能......

#include <boost/asio.hpp>
#include <iostream>

int main(int argc, char* argv[]) {

  boost::asio::io_service io_service;
  boost::asio::io_service::work work(io_service);

  io_service.run();

  std::cout << "Do you reckon this line displays?" << std::endl;

  return 0;
}

...并且根据run方法(http://www.boost.org/doc/libs/1_65_1/doc/html/boost_asio/reference/io_service/run.html)的文档,它应该运行io_service对象的事件处理循环。是什么那意味着?我没有看到任何事件处理循环。我可以观察到永远不会达到std::cout指令的事实。

这一次,如果我们将io_service.run()替换为io_service.poll(),则会到达std::cout语句。根据{{​​1}}方法(http://www.boost.org/doc/libs/1_65_1/doc/html/boost_asio/reference/io_service/poll.html)的文档,它应该运行io_service对象的事件处理循环来执行就绪处理程序。

但说实话,我认为文档有点令人困惑,我不知道他们指的是哪个就绪处理程序并且更广泛,民意调查之间有什么区别()和run()

0 个答案:

没有答案