boost :: asio软件包包含使用IO完成端口在Windows中执行异步文件io的类。据我了解,asio包中包含的其他平台不支持异步文件io。将boost :: asio中的异步文件io扩展到Mac OS X
我想知道为了扩展异步文件io支持至少需要Mac OS X,但在某种程度上Linux还需要做些什么。我最感兴趣的是需要在asio方面做些什么,但由于我不是那么熟悉Mac OS X编程,我不介意在哪里可以找到更多关于如何执行异步文件io的信息的指针Mac OS X以及 - PBReadForkAsync我应该看什么?
更新: 我终于得到周围尝试使用的aio_read/aio_write Mac OS X上建立异步文件IO(外的boost :: ASIO),但我无法得到我所需要的回调数据(见How to get user data for aio signal handler in Mac OS X)。
短耳工作在Mac OS X是的,但是异步文件IO不可用。根据文档:Boost.Asio包括添加的类,以允许在POSIX文件描述符(如管道,标准输入和输出以及各种设备(但不是常规文件))上执行同步和异步读取和写入操作。 (http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio/overview/posix/stream_descriptor.html)。 – villintehaspam 2010-01-14 10:57:54
更新了这个问题,使其更清楚地表明,它只是asio软件包的文件io部分,对于除Windows以外的其他平台而言“缺失”。 – villintehaspam 2010-01-14 11:18:22
对不起,我也错过了。我认为更好的方法是将OS X视为POSIX系统,这样你就可以获得通用的Unixen和Linux。请参阅'aio_read(2)'系统调用和'man aio'。然后可能将课程提交给Boost,因为这真的应该在那里。 – 2010-01-14 21:36:00