有两个线程共同做下面工作
其中pFileAddr是MapViewOfFile返回的地址,pFileAddr是结构体MapFileInfo成员
类Map_File主要是用来映射文件
for(;;){
new Map_File(MapFileInfo);
while(MapFileInfo->pFileAddr == NULL)
{
Sleep(1500);
new Map_File(MapFileInfo);
}
}这个执行失败后会自动退出
求解?

解决方案 »

  1.   

    new Map_File(MapFileInfo);这啥意思啊?无名对象??
    无名对象只能当入参和引用吧
      

  2.   

    死循环里不断的new 还是重载了new操作符? 是不是内存耗尽了? 
      

  3.   

    MapFileInfo 是一个结构体对象指针  Map_File是个类名,它的作用主要是映射文件,它的构造函数要用到MapFileInfo结构体指针,所以我把它传了进去。    
    其实我不需要这个类对象,所以就没有接受其类对象。这个类的作用就是填充这个结构体中的pFileAddr地址。这个地址是文件的映射地址,用MapViewOfFile返回。若这个文件没有映射成功,则pFileAddr == NULL  ,就让它歇会然后继续映射,直到映射成功。
    内存耗尽应该不可能,其实用AfxMessageBox   可以检测到  这个while循环只执行了一次就退出了
    求解