“同步I/O是否可以与关联文件一起使用”是什么意思?

“同步I/O是否可以与关联文件一起使用”是什么意思?

UNIX® 环境中的高级编程:

对于_PC_ASYNC_IO_PC_PRIO_IO、 和_PC_SYNC_IO,引用的文件不能是目录。

Name of option   |   Indicates ...                          |name argument
_POSIX_SYNC_IO   |whether synchronized I/O can be used with |_PC_SYNC_IO
                  the associated file

所以我假设用法是
long return_value = pathconf("/a/path/filename",_PC_SYNC_IO)

看起来这是一种获取特定文件“设置”的方法。

这个东西可以设置成文件吗?我该如何设置呢?

什么是同步输入/输出是指文件吗?我的意思是,我不明白如何同步输入/输出可能是文件的设置?难道它不应该是一个编程方面的事情而不仅仅是一个“设置”吗?

答案1

的结果pathconf可能因文件而异,对于某些参数,可以给出它(_PC_NAME_MAX_PC_ASYNC_IO和其他一些参数),但对于大多数参数,结果是依赖于平台的常量。您检索使用的值pathconf不是每个文件的设置,它们是系统的属性和文件类型;你无法设置它们。

此上下文中的同步 I/O 是指从文件同步读取和向文件写入,由O_SYNC相关标志控制,这些标志可以在open来电。pathconf(..., _PC_SYNC_IO)会告诉您是否支持这些标志(请注意,O_SYNC无论如何,无论结果如何,常规文件都应该支持这些标志pathconf)。

相关内容