欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C語言實(shí)現(xiàn)大數(shù)據(jù)文件的內(nèi)存映射機(jī)制

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

C語言實(shí)現(xiàn)大數(shù)據(jù)文件的內(nèi)存映射機(jī)制

摘要

本文主要講述大量數(shù)據(jù)的文件的內(nèi)存映射機(jī)制的實(shí)現(xiàn)。

1. 內(nèi)存映射

內(nèi)存映射文件,是由一個(gè)文件到一塊內(nèi)存的映射。Win32提供了允許應(yīng)用程序把文件映射到一個(gè)進(jìn)程的函數(shù) (CreateFileMapping)。內(nèi)存映射文件與虛擬內(nèi)存有些類似,通過內(nèi)存映射文件可以保留一個(gè)地址空間的區(qū)域,同時(shí)將物理存儲(chǔ)器提交給此區(qū)域,內(nèi)存文件映射的物理存儲(chǔ)器來自一個(gè)已經(jīng)存在于磁盤上的文件,而且在對該文件進(jìn)行操作之前必須首先對文件進(jìn)行映射。使用內(nèi)存映射文件處理存儲(chǔ)于磁盤上的文件時(shí),將不必再對文件執(zhí)行I/O操作,使得內(nèi)存映射文件在處理大數(shù)據(jù)量的文件時(shí)能起到相當(dāng)重要的作用。

2. 實(shí)現(xiàn)

#include "stdafx.h" 
#include "windows.h" 
#include <iostream> 
#include <fstream> 
 
using namespace std; 
  
 
int main(int argc, _TCHAR* argv[]){ 
 
  //// Open the file that we want to map. 
  HANDLE hFile = ::CreateFile(L"C:/Users/Joe WANG/Desktop/Data.txt", 
   GENERIC_READ | GENERIC_WRITE, 
   0, 
   NULL, 
   OPEN_ALWAYS, 
   FILE_ATTRIBUTE_NORMAL, 
   NULL); 
 
  // Create a file-mapping object for the file. 
  HANDLE hFileMapping = ::CreateFileMapping(hFile, 
   NULL, 
   PAGE_WRITECOPY, 
   0, 0, 
   NULL); 
 
  // Now map the file 
  PCHAR pbFile = (PCHAR)::MapViewOfFile(hFileMapping, FILE_MAP_COPY, 0, 0, 0); 
  
  // Print result 
  printf("%s\n", ((string)pbFile).c_str());  
 
  // Close all file handle 
  ::UnmapViewOfFile(pbFile); 
  ::CloseHandle(hFileMapping); 
  ::CloseHandle(hFile); 
  
  return 0; 
} 

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有