• 7431阅读
  • 2回复

[提问]Qt如何开辟共享内存 [复制链接]

上一主题 下一主题
离线无涯之子
 

只看楼主 倒序阅读 楼主  发表于: 2013-01-10
Qt 有类似于windows中  CreateFileMapping的函数吗 可以开辟一个数据结构大小的共享内存
离线winembedded

只看该作者 1楼 发表于: 2013-01-11
QFile map
离线无涯之子

只看该作者 2楼 发表于: 2013-01-14
回 1楼(winembedded) 的帖子

USBAUDIO_SHARED_MEM* CUsbAudioSharedMemory::Create()
{
    TCHAR szName[] =TEXT( "object");
    m_hMap=::OpenFileMapping(FILE_MAP_ALL_ACCESS,0,szName);
   if(m_hMap !=NULL)
   {
       m_pUsbAudioSharedMem =(USBAUDIO_SHARED_MEM *) ::MapViewOfFile(m_hMap,FILE_MAP_ALL_ACCESS,0,0,0);
   }
   else
   {
       m_hMap=::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,sizeof(m_pUsbAudioSharedMem),szName);
       m_pUsbAudioSharedMem =(USBAUDIO_SHARED_MEM *) ::MapViewOfFile(m_hMap,FILE_MAP_ALL_ACCESS,0,0,0);
       qDebug("%d",GetLastError());
   }
   return m_pUsbAudioSharedMem;
}

这个创建共享内存 windows下的 但是QT有什么可以取代的吗 ? 我用QshareMemory还是不行。
快速回复
限100 字节
 
上一个 下一个