返回信息流☆─────────────────────────────────────☆
jaycolas (小白) 于 (Sat May 31 16:35:48 2008) 提到:
我是在linux下写代码,调用exec函数,结果出错,标准出错打印信息是:Bad Address;这是什么原因呢?
☆─────────────────────────────────────☆
ox (小贝|抱抱三人组之小宝贝|东北志责任编辑) 于 (Sat May 31 16:40:48 2008) 提到:
调用的资源地址写错了呗
【 在 jaycolas (小白) 的大作中提到: 】
: 我是在linux下写代码,调用exec函数,结果出错,标准出错打印信息是:Bad Address;这是什么原因呢?
☆─────────────────────────────────────☆
jaycolas (小白) 于 (Sat May 31 16:42:40 2008) 提到:
能说的详细点么?我用的是execvp函数
还有,从哪能查到标准出错的输出所对应的原因啊~~~
【 在 ox 的大作中提到: 】
: 调用的资源地址写错了呗
☆─────────────────────────────────────☆
ox (小贝|抱抱三人组之小宝贝|东北志责任编辑) 于 (Sat May 31 16:45:35 2008) 提到:
看一下 man帮助文档
man execvp
【 在 jaycolas (小白) 的大作中提到: 】
: 能说的详细点么?我用的是execvp函数
: 还有,从哪能查到标准出错的输出所对应的原因啊~~~
☆─────────────────────────────────────☆
jaycolas (小白) 于 (Sat May 31 16:47:56 2008) 提到:
man errno看到下面一行
EFAULT Bad address (POSIX.1)
EFAULT 是什么意思呢?
☆─────────────────────────────────────☆
jaycolas (小白) 于 (Sat May 31 16:51:59 2008) 提到:
从网上查到的
Bad Address
This happens when you call a kernel syscall, and provide it with a pointer that points outside your address space. Tsk Tsk. You should check your pointers are properly initialised.
If you get this after doing a fork(2) followed by an execl(3) or execlp(3), make sure you remembered to NULL-terminate the list of arguments...
☆─────────────────────────────────────☆
ericyosho (ericyosho) 于 (Sat May 31 19:15:26 2008) 提到:
哦,学习了,竟然还有参数列表有'\0'结尾。
很好很强大
☆─────────────────────────────────────☆
jaycolas (小白) 于 (Sat May 31 19:26:45 2008) 提到:
没错,调用execvp的时候那个char *argv[ ]的最后一个元素也必须是0才行,刚把问题解决
【 在 ericyosho 的大作中提到: 】
: 哦,学习了,竟然还有参数列表有'\0'结尾。
: 很好很强大
这是一条镜像帖。来源:北邮人论坛 / cpp / #8741同步于 2008/6/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[合集] 什么时候标准出错会输出"Bad Address"啊
Xer
2008/6/24镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。