VC中进程间共享内存实现

VC++6.0共享内存技术总结

程序1 -- 建立共享区,写数据:

Cpp代码
  1. int main(int argc, charargv[])  
  2.  
  3.  HANDLE lhShareMemory;  
  4.  charlpBuffer NULL;  
  5.    
  6.  lhShareMemory CreateFileMapping(HANDLE(0xFFFFFFFF), NULL, PAGE_READWRITE,  
  7.   0, 10, "mySharedMemory");  
  8.    
  9.  if (NULL == lhShareMemory)  
  10.   
  11.    if (ERROR_ALREADY_EXISTS == GetLastError())  
  12.     
  13.     cout << "Already exists!" 
  14.     
  15.    else  
  16.     
  17.     cout << "Create Sheared Memory unsuccessfully!" 
  18.     
  19.    return 0;  
  20.   
  21.    
  22.  lpBuffer (char*)MapViewOfFile(lhShareMemory, FILE_MAP_WRITE, 0, 0, 10);  
  23.  if (NULL == lpBuffer)  
  24.   
  25.    cout << "Get Share memory unsuccessfully!" 
  26.    return 0;  
  27.  
  28.  strcpy(lpBuffer, "hello"); 
  29.  cout << "进程通信:采用共享内存" << endl;  
  30.  cout << "写进程" << endl; 
  31.  cout << "写入数据:"<< endl<<lpBuffer << endl;  
  32.  Sleep(100000);  
  33.  UnmapViewOfFile(lpBuffer);
  34.  return 0; 
  35.  
  36.    
  37. 程序2 -- 使用共享区,读数据:
  38. Cpp代码
    1. int main(int argc, charargv[])  
    2.  
    3.   HANDLE lhShareMemory;  
    4.   charlpcBuffer;  
    5.    
    6.   lhShareMemory OpenFileMapping(FILE_MAP_READ, false"mySharedMemory");  
    7.   if (NULL == lhShareMemory)  
    8.    
    9.    cout << "Open share memory unsuccessfully!" << endl;  
    10.    DWORD ldwError GetLastError();  
    11.    cout << ldwError;  
    12.    return 0;  
    13.    
    14.    
    15.   lpcBuffer (char*)MapViewOfFile(lhShareMemory, FILE_MAP_READ, 0, 0, 100);  
    16.   if (NULL == lpcBuffer)  
    17.    
    18.    cout << "Open share memory unsuccessfully!" 
    19.    return 0;  
    20.    
    21.   cout << "进程通信:采用共享内存" << endl;  
    22.   cout << "读进程" << endl;  
    23.   cout << "读入数据:" << endl;  
    24.   for (int 0; 100; ++i)  
    25.    
    26.    cout << *(lpcBuffer i);  
    27.     
    28.  UnmapViewOfFile(lpcBuffer); 
    29.  return 0;  
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页