执行后的界限是什么,因为它没有成功回归?

时间:2011-04-15 15:45:34

标签: execve

26: execve(prog[0],prog,env);
27: return 0; 


execve() does not return on success, and  the  text,  data,  bss,  and
       stack  of  the  calling process are overwritten by that of the program
       loaded.

return 0;是什么?

2 个答案:

答案 0 :(得分:1)

我建议停止编译警告。

$ cat | gcc -W -Wall -x c -
int main(){}
^D
<stdin>: In function 'main':
<stdin>:1:1: warning: control reaches end of non-void function

这也将使快乐的静态分析仪和IDE警告相同。

答案 1 :(得分:0)

如果execve()由于某种原因失败并返回,则该行。从理论上讲,它永远不会发生,但有时会发生。通常,返回值设置为某个随机数以表示存在错误。