C++ boost 1.46.1中的boost::asio::windows::stream_句柄在哪里?
曾几何时,我们有如下boost代码:C++ boost 1.46.1中的boost::asio::windows::stream_句柄在哪里?,c++,boost,pipe,boost-asio,C++,Boost,Pipe,Boost Asio,曾几何时,我们有如下boost代码: typedef BoostAsioPipe pipe; #elif defined(BOOST_POSIX_API) typedef boost::asio::posix::stream_descriptor pipe; #elif defined(BOOST_WINDOWS_API) typedef boost::asio::windows::stream_handle pipe; #else # error "Unsupported platform
typedef BoostAsioPipe pipe;
#elif defined(BOOST_POSIX_API)
typedef boost::asio::posix::stream_descriptor pipe;
#elif defined(BOOST_WINDOWS_API)
typedef boost::asio::windows::stream_handle pipe;
#else
# error "Unsupported platform."
#endif
但现在,例如在windows编译器上,stream_句柄不是boost::asio的一部分。。。那么它现在在哪里?(流_描述符是在同一个位置还是也在移动)
更新
愚蠢的我:现在有类似于boost::asio::windows::pipe
的东西,但编译器给出了C3083
#elif defined(BOOST_WINDOWS_API)
typedef boost::asio::windows::pipe pipe;
#else
这是你想要的吗?(来自)
Windows随机访问句柄仅在编译时针对Windows时可用,并且仅在使用I/O完成端口后端时可用(这是默认设置)。程序可以测试宏BOOST\u ASIO\u是否具有WINDOWS\u STREAM\u句柄,以确定它们是否受支持。
(对BOOST同样有效,因为它有WINDOWS随机访问句柄)您确定它已被消除吗?根据文档,它仍然存在:它仍然是boost的一部分,可能一些标题已经更改,所以现在您必须显式地包含以使用它。至少在代码示例中,我看不到包含。