C++-msgget 引起的内存越界
源代码
int msqid;
//key = ftok(".",100);
printf("child test1 n");
if((msqid=msgget((key_t)54326,IPC_CREAT|0666))< 0)
{
printf("消息队列创建失败n");
//pid_t pr = wait(NULL);
return 0;
}
printf("get the queue id is %sn",msqid);
程序运行输出结果:
$ ./upage ........
child test1
Segmentation fault
$
结果输出中的Segmentation fault 发生内存读写错误
提问:msgget什么情况下会引起内存读写错误(这段代码之前运行了很多次是没有问题的,就是某一次运行报错之后一直出错了),怎么修正使程序可以继续运行?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
比较无语~~ 连续好几天通宵情况下 写代码 尽是这类错误,请忽略此问题。已找到原因,msgget是没有问题的