Y yiyueye Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-31 #1 想高速将一个 二维数组 存入一文本文件,利用内存映射文件 技术实现!<br>格式如下:<br>a[1,1],a[1,2],a[1,3]<br>a[2,1],a[2,2],a[2,3]
Z zzutrain Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-31 #2 建立内存内存映射文件 若成功返回一个 pointer 指针 p<br><br>然后, copymemory(p,@a,sizeof(a))<br><br>是更新生效.<br><br>就ok了
建立内存内存映射文件 若成功返回一个 pointer 指针 p<br><br>然后, copymemory(p,@a,sizeof(a))<br><br>是更新生效.<br><br>就ok了
M Mike1234567890 Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-31 #3 映射后把数据复制到映射文件空间就行了
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-31 #5 hMapObj := OpenFileMapping(FILE_MAP_WRITE,{获取完全访问映射文件}<br> False,{不可继承的}<br> LPCTSTR(MappingFileName));{映射文件名字}<br> if hMapObj = 0 then<br> begin<br> ShowMessage('不能定位内存映射文件块!');<br> Halt;<br> end;<br><br> pShMem := MapViewOfFile(hMapObj,FILE_MAP_WRITE,0,0,0);<br> if pShMem = nil then<br> begin<br> ShowMessage('映射文件错误'+ IntToStr(GetLastError));<br> CloseHandle(hMapObj);<br> Halt;<br> end;<br><br> FillChar(pShMem^, SizeOf(TShareMem), 0);
hMapObj := OpenFileMapping(FILE_MAP_WRITE,{获取完全访问映射文件}<br> False,{不可继承的}<br> LPCTSTR(MappingFileName));{映射文件名字}<br> if hMapObj = 0 then<br> begin<br> ShowMessage('不能定位内存映射文件块!');<br> Halt;<br> end;<br><br> pShMem := MapViewOfFile(hMapObj,FILE_MAP_WRITE,0,0,0);<br> if pShMem = nil then<br> begin<br> ShowMessage('映射文件错误'+ IntToStr(GetLastError));<br> CloseHandle(hMapObj);<br> Halt;<br> end;<br><br> FillChar(pShMem^, SizeOf(TShareMem), 0);