- 论坛徽章:
- 0
|
写文件想用linux原生的AIO实现,我刚学, 看了网上的代码 很多不懂,特地上来请教高手
fd_File = open(TEST_FILE, O_RDWR | O_CREAT | O_DIRECT, 0644);
io_setup(8192, &pContext)
posix_memalign(&buf, ALIGN_SIZE, RD_WR_SIZE)
io_prep_pread(&apCustomIOCB->iocb, fd_File, buf, RD_WR_SIZE, i * RD_WR_SIZE);
io_set_eventfd(&apCustomIOCB->iocb, fd_EventObj);
io_set_callback(&apCustomIOCB->iocb, aio_callback);
io_submit(pContext, NUM_EVENTS, apIOCB); //这个是还未实际读写时调用的吧,应该像"注册"吧
while
{
io_getevents(pContext, 1, NUM_EVENTS, atIOEvent, &tTimeSpec); //读取异步完成事件?,那哪里去写文件呢?写文件有什么讲究么(比如特殊写文件函数等)
} |
|