新人求教:
我在一个程序中写到: hMemSrv = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,300,"MNCTC");
我在另一个程序中写: hMemGUI = OpenFileMapping(FILE_MAP_READ,FALSE, "MNCTC");这样能达到共享内存么?
我在一个程序中写到: hMemSrv = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,300,"MNCTC");
我在另一个程序中写: hMemGUI = OpenFileMapping(FILE_MAP_READ,FALSE, "MNCTC");这样能达到共享内存么?
#include <iostream.h>
#include <stdio.h>
#include <windows.h>int main()
{
HANDLE hMemSrv;
unsigned char *pSetBuf;
hMemSrv = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,300,"MNCTC");
pSetBuf = (unsigned char *)MapViewOfFile(hMemSrv, FILE_MAP_WRITE,0,0,300);
char *ch = (char *)pSetBuf; ch[4] = 'p'; int b;
cin>>b;
UnmapViewOfFile(pSetBuf);
CloseHandle(hMemSrv); return 1;
}two:get
#include <iostream.h>
#include <stdio.h>
#include <windows.h>int main()
{ HANDLE hMemGUI;
unsigned char *pGetBuf;
(1)// hMemGUI = OpenFileMapping(FILE_MAP_READ,FALSE, "MNCTC");
(2)// hMemGUI = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,300,"MNCTC");
pGetBuf = (unsigned char *)MapViewOfFile(hMemGUI, FILE_MAP_WRITE,0,0,300);
cout<<pGetBuf[4]<<endl;
int d;
cin>>d; UnmapViewOfFile(pSetBuf);
CloseHandle(hMemSrv); return 1;
}用语句1可以读出p
用语句2报.exe错误。请问怎么回事?