函数
GLibMappedFilenew_from_fd
自 2.32
声明 [源]
GMappedFile*
g_mapped_file_new_from_fd (
gint fd,
gboolean writable,
GError** error
)
描述 [源]
将文件映射到内存中。在 UNIX 上,这使用 mmap()
函数。
如果 writable
是 TRUE
,则可以修改映射的缓冲区,否则修改映射的缓冲区将是一个错误。对缓冲区的修改对其他正在映射相同文件的其他进程不可见,并且不会写回文件。
请注意,对底层文件的修改可能会影响 GMappedFile
的内容。因此,只有在文件不会被修改或者文件的所有修改都是原子性的(例如使用 g_file_set_contents()
)时,才应该使用映射。
自 2.32
返回值
类型: GMappedFile
一个新的 GMappedFile
,必须使用 g_mapped_file_unref() 取消引用,或者如果映射失败则为 NULL
。
函数的调用者获取数据的所有权,并负责释放它。 |