linux两个进程间共享内存通信都需要调用shmget函数么
答案:2 悬赏:0 手机版
解决时间 2021-03-10 04:41
- 提问者网友:暗中人
- 2021-03-09 12:22
linux两个进程间共享内存通信都需要调用shmget函数么
最佳答案
- 五星知识达人网友:思契十里
- 2021-03-09 13:09
第一个参数,shm_id是由shmget函数返回的共享内存标识。第二个参数,shm_addr指定共享内存连接到当前进程中的地址位置,通常为空,表示让系统来选择共享内存的地址。第三个参数,shm_flg是一组标志位,通常为0。调用成功时返回一个指向共享内存第一个字节的指针,如果调用失败返回-1.
全部回答
- 1楼网友:酒者煙囻
- 2021-03-09 13:27
可以随便设一个数字的,程序设计有时候就用固定的数字会好一点。
不一定就要用ftok函数 ,ftok函数可以提供一个数字给你去创建共享内存,但你用不同目录时这个值是不同的。
如果你是在ibm的aix系统下,ftok函数是有问题的 ,不知的是不是 bug。
比如如果有两个分区,a,b
把 a 挂到 /mnt下
把b挂到/media下
那么
ftok("/mnt")和ftok("/media")结果是一样的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯