当前位置:首页 > 内存 > 正文

4gb以上的内存映射是什么意思

  • 内存
  • 2024-08-14 10:21:15
  • 7391

一、处理大数据,读写大于4GB的文件,不要告诉我用内存映射的方法;C语言的文件长度收集函数在最大值达到4GB时就会溢出。
使用windowsapi将文件长度分割到高位分别从返回值和参数返回。
写入时,可以通过WriteFile中的参数lpOverlapped设置偏移值,可以支持更大的文件。
虽然参数多了一些,但总能解决你的问题。如果调用的地方很多,可以将这些函数封装起来,这样调用时很多参数都是一样的。希望有帮助。
,
__out_optLPDWORDlpNumberOfBytesWritten,
__inout_optLPOVERLAPPEDlpOverlapped
);
HANDLEWINAPICreateFile(
__inLPCTSTRlpFileName,
__DeinDWORDdAccess,
__in_optLPSECURITY_ATTRIBUTESlpSecurityAttributes,
__inDWORDdwCreationDisposition,
__inDWORDdwFlagsAndAttributes,
__in_optHANDLEhTemplateFile
);
支持的WindowsServer2003
HeaderFileAPI.h(includeWindows.h);dowsServer2008R2,Windows7、WindowsServer2008、WindowsVista、WindowsServer2003和WindowsXP(包括Windows.h)


Unicode和文件名ANSI)