C++-msgget 引起的内存越界

发布于 2016-11-21 04:16:33 字数 523 浏览 1119 评论 1

源代码
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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清晨说ぺ晚安 2017-04-28 19:33:56

比较无语~~ 连续好几天通宵情况下 写代码 尽是这类错误,请忽略此问题。已找到原因,msgget是没有问题的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文