第八章 内存共享 windows程序设计王艳平版
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                第八章 内存共享 windows程序设计王艳平版
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            ///
// ShareMem.cpp文件
 
 
 
 
#include <stdio.h>
#include <windows.h>
 
 
void main()
{
char szName[] = "08ShareMem"; // 內存映射對象的名稱
char szData[] = "123456"; // 共享內存中的數據
LPVOID pBuffer; // 共享內存指針
 
 
// 首先試圖打開一個命名的內存映射文件對象
HANDLE hMap = ::OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, szName);
if(hMap != NULL)
{
// 打開成功,映射對象的一個視圖,得到指向共享內存的指針,顯示出里面的數據
pBuffer = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
printf(" 讀出共享內存數據:“%s”\n", (char*)pBuffer);
}
else
{
// 打開失敗,創建之
hMap = ::CreateFileMapping(
INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE,
0,
strlen(szData) + 1,
szName);
 
// 映射對象的一個視圖,得到指向共享內存的指針,設置里面的數據
pBuffer = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
strcpy((char*)pBuffer, szData);
 
 
printf(" 寫入共享內存數據:“%s”\n", (char*)pBuffer);
}
 
 
 
 
getchar();
 
 
// 解除文件映射,關閉內存映射文件對象句柄
::UnmapViewOfFile(pBuffer);
::CloseHandle(hMap);
 
 
return;
}
                        
                        
                        // ShareMem.cpp文件
#include <stdio.h>
#include <windows.h>
void main()
{
char szName[] = "08ShareMem"; // 內存映射對象的名稱
char szData[] = "123456"; // 共享內存中的數據
LPVOID pBuffer; // 共享內存指針
// 首先試圖打開一個命名的內存映射文件對象
HANDLE hMap = ::OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, szName);
if(hMap != NULL)
{
// 打開成功,映射對象的一個視圖,得到指向共享內存的指針,顯示出里面的數據
pBuffer = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
printf(" 讀出共享內存數據:“%s”\n", (char*)pBuffer);
}
else
{
// 打開失敗,創建之
hMap = ::CreateFileMapping(
INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE,
0,
strlen(szData) + 1,
szName);
// 映射對象的一個視圖,得到指向共享內存的指針,設置里面的數據
pBuffer = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
strcpy((char*)pBuffer, szData);
printf(" 寫入共享內存數據:“%s”\n", (char*)pBuffer);
}
getchar();
// 解除文件映射,關閉內存映射文件對象句柄
::UnmapViewOfFile(pBuffer);
::CloseHandle(hMap);
return;
}
總結
以上是生活随笔為你收集整理的第八章 内存共享 windows程序设计王艳平版的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 基于java的银行账目管理系统-计算机毕
- 下一篇: 基于单片机的脉冲宽度测量
