动机:可移植到 POSIX 之外 - 例如,在 Windows 上使用类似的功能。
问问题
649 次
1 回答
1
不,boost 没有这样的东西。正如 brian beuning 在评论中提到的,将操作系统同步到设备非常依赖于操作系统。
但是,您不必像 Microsoft 的 C 运行时库那样直接调用 Windows API fsync()
。它被命名为_commit
,并且您仍然非常便携,因为您可以继续使用文件描述符,而不必更改代码以使用 Windows HANDLE。
您可以按照以下方式介绍自己的可移植性助手:
ifdef __WINDOWS__
#include <io.h>
#define fsync _commit
endif
于 2014-03-03T08:23:57.813 回答