处理一个大文件,大概1G及以上,使用windows api进行文件内存映射,写入数据后关闭映射,结果关闭时间需要5秒左右,气死人!我的做法是:创建一个文件,得到一个handle,名为h_file, 使用这个h_file创建一个映射对象,得到另一个handle,名为h_map;写入数据后,调整文件长度(调用SetFilePointer和SetEndOfFile),然后关闭h_map(瞬间关闭),最后关闭h_file(耗时5秒左右),这到底是怎么一回事呢?A:如果我创建完成h_map之后就立即关闭h_file,这时候就瞬间完成,但是无法调整文件长度。如果在A的情况下,关闭h_map之后再重新创建文件句柄,然后再去调整文件长度后进行关闭,但这样的话,创建文件句柄又会花费平均5秒左右的时间,真是见鬼了!请问大侠,我如此才能实现调整文件长度后瞬间关闭所有handle呢?
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
IDGHOST 如果所在卷是NTFS格式,且单次写入数据量少的话,试试为文件设置标志位FSCTL_SET_SPARSE