VC6.0共享内存FileMapping运行时间问题
发布网友
发布时间:2022-07-23 10:19
我来回答
共1个回答
热心网友
时间:2023-11-29 22:51
你的程序只申请资源而不释放资源,所以造成内存溢出。这种行为是很危险的,不停的创建内核对象,你的程序不停得申请资源,后果很难预料。我用你的程序当进程所占内存到100多m的时候就终止了。改成下面的代码,所占内存不会有大的变化。
int main()
{
int kkk=932156431;
lable:
HANDLE m_hMapFile=CreateFileMapping( //创建一个有名的共享内存
(HANDLE)0xFFFFFFFF, //0xFFFFFFFF表示创建一个进程间共享的对象
NULL,
PAGE_READWRITE, //读写共享
0,
1032, //共享区间大小4096
TEXT("myfile"));
int*p=(int*)MapViewOfFile( //映射到本进程的地址空间
m_hMapFile,
FILE_MAP_ALL_ACCESS,
0,
0,
0);
*p=kkk ;
printf("%d",*p);
UnmapViewOfFile(p);//释放进程资源
CloseHandle(m_hMapFile);//关闭内核对象
goto lable;
return 0;
}
VC6.0共享内存FileMapping运行时间问题
int main(){ int kkk=932156431;lable:HANDLE m_hMapFile=CreateFileMapping( //创建一个有名的共享内存 (HANDLE)0xFFFFFFFF, //0xFFFFFFFF表示创建一个进程间共享的对象 NULL,PAGE_READWRITE, //读写共享 0,1032, //共享区间大小4096 TEXT("myfile"));int*p=(int*)MapViewOfFile( ...
vc共享内存Filemapping问题
szName); // name of mapping object if (hMapFile == NULL){ printf("Could not create file mapping object (%d).\n",GetLastError());return 1;} pBuf = (LPTSTR) MapViewOfFile(hMapFile, // handle to map object FILE_MAP_ALL_ACCESS, // read/write permission 0,0,BUF_...