用于附加共享内存段的shmat

前端之家收集整理的这篇文章主要介绍了用于附加共享内存段的shmat前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我浏览shmat的手册页时.它被描述为API的原始函数是将与shmid关联的内存段附加到调用进程的地址空间.

我的问题如下.

>术语附件对我来说是通用的.我发现很难理解附着所指的基本活动是什么.
>通过映射一段内存意味着什么?

解决方法

将它用作char * ptr = shmat(seg_id,NULL,0);
它通过函数shmget()将创建的段id附加到包含上述代码的进程.

seg_id是新创建的段的段ID
NULL表示操作系统将代表用户处理段的起始地址
0是读/写两者的标志

每当进程附加到共享内存时,它必须被分离,以便另一个进程可以通过附加到该段来访问它(如果存在资源的锁定机制).

分离:shmdt(ptr);

猜你在找的C&C++相关文章