我似乎明白了什么:
POSIX AIO
API 是原型的<aio.h>
,您将程序与 librt(-lrt) 链接,而其中的libaio
API<libaio.h>
和您的程序与 libaio (-laio) 链接。
我无法弄清楚:
1.内核对这两种方法的处理方式不同吗?
2.O_DIRECT
使用它们中的任何一个都必须使用标志吗?
如本文所述,libaio 在不O_DIRECT
使用. 的情况下也能正常工作libaio
。好吧,明白了,但是:
根据 R.Love 的Linux System Programming一书,Linux仅在使用.没有标志打开的文件没有问题。O_DIRECT
aio_write
O_DIRECT