永发信息网

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")结果是一样的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯