-
-
[旧帖]
关于#pragma comment(linker, "/Section:Shared,rws")的问题
0.00雪花
-
发表于:
2011-2-25 01:11
6548
-
[旧帖] 关于#pragma comment(linker, "/Section:Shared,rws")的问题
0.00雪花
遇到了非常奇怪的事情,我在DLL中设置了共享数据段,试图在多个进程中统计某种情况的次数,
#pragma data_seg("Shared")
int g_nCount = 0;
#pragma data_seg()
#pragma comment(linker, "/Section:Shared,rws")
发现在某个进程中这个g_nCount 突然减少了2或3,比如现在是15,这个进程加载这个DLL时突然就变成了13。对g_nCount 的访问是有互斥量控制的。
WaitForSingleObject(g_hMutex, INFINITE);
int nIndex;
nIndex = g_nCount;
g_nCount++;
char aaa[1024];
sprintf(aaa,"获得mutex, index=%d\n",nIndex);
OutputDebugString(aaa);
ReleaseMutex(g_hMutex);
这里就发现突然比原先的值少2或3了。有人遇到过这种事情吗?怎么回事?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课