本文主要是介绍共享内存:shmat:invalid argument,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
共享内存:shmat(shmid,NULL,0);第二次使用时会出现invalid argument;
errno是EINVAL: invalid shmid value;
shmid=shmget(key,BUFSIZE,IPC_CREAT|IPC_EXCL|0666);
如果单独使用IPC_CREAT,若键值key对应的共享内存存在时,则只进行打开操作,返回已存在的shmid,否则创建新的键值key对应的内存,返回新的shmid;
如果IPC_CREAT|IPC_EXCL联合使用,与open操作中O_CREAT|O_EXCL联合使用一样,保障创建的共享内存是新的,返回新的shmid,如果没有进行错误的排查,将shmid应用于shmat时,就会在第二次映射共享内存时出现这个错误;
这篇关于共享内存:shmat:invalid argument的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!