system返回值是什么?

HongMenzhouxiangang 2010-06-02 08:55:12
system调用exe文件,该文件是c写的main函数带返回值的.为什么main返回是2,system返回的是512呢?
...全文
1024 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fibbery 2010-06-02
  • 打赏
  • 举报
回复
If you'd like to manually inspect system's failure, you can check all possible failure modes by inspecting $? like this:


if ($? == -1) {
print "failed to execute: $!\n";
}
elsif ($? & 127) {
printf "child died with signal %d, %s coredump\n",
($? & 127), ($? & 128) ? 'with' : 'without';
}
else {
printf "child exited with value %d\n", $? >> 8;
}
plaeks 2010-06-02
  • 打赏
  • 举报
回复
system返回的值需要右移8位得到的才是所调用函数真正的返回值。
ybjayang 2010-06-02
  • 打赏
  • 举报
回复
哦,高手
  • 打赏
  • 举报
回复
自己解决了.需要移位操作.
geniusqiao 2010-06-02
  • 打赏
  • 举报
回复
system 返回的是命令执行的返回值。如果这个命令是你自己写的,则返回的是你自己定义的值。
如你定义了返回成功值为0,则执行成功就返回0.返回512则证明你的程序出现了异常或者错误

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧