/************** Begin of sharedmemory.h *******************************************/ #if defined(linux) && defined(HAVE_SHM) /*************************************************************************** |sharedmemory.h| - sharedmemory类的头文件-声明sharedmemory类 ------------------- begin : |03-6-20| modify : |03-6-20| copyright : (C) |YEAR| by |wenhm(温辉敏)| email : |EMAIL| ***************************************************************************/ #ifndef SHAREDMEMORY_H #define SHAREDMEMORY_H #include //创建或关键字为Key的含有大小为size的共享内存对象,并将共享内存对象id放于shmid中返回。 //若共享内存对象已存在则取得该对象 extern int create_sharedmemory(key_t key, int size); //创建关键字Key为IPC_PRIVATE(即关键字由系统选定)的含有大小为size的共享内存对象,并将共享内存对象id放于shmid中返回。 //因使用IPC_PRIVATE创建的共享内存的key都一样,所以key就不要了。 extern int create_sharedmemory_private(int size); //将共享内存attach到进程自己得空间内,函数返回指向映射内存的指针。 extern void *attach_sharedmemory(int shmid ); //将共享内存disattach,唯一的参数是共享内存映射的指针 //返回值: -1 on error: errno = EINVAL (Invalid attach address passed) extern int disattach_sharedmemory(void* shm); //获取共享内存对象shmid的大小 extern int getsize_sharedmemory(int shmid); //删除共享内存对象 extern int del_sharedmemory(int shmid); #endif /* SHAREDMEMORY_H */ #endif /************** Begin of sharedmemory.h *******************************************/