有关execv()的奇怪问题
各位大侠,我在我的程序中,如果这样调用外部程序:
char * const argv[] = {"./"};
execv("./app", argv);
那么app进程一定执行失败。但是我如果这样执行:
int32_t dwRet = execv("./app", argv);
if(dwRet < 0)
{
printf("exec app failed.Ret:%d,Errno:%d",dwRet,errno);
}
就是正确的。也就是我在execv()函数后面,必须打印一下这个函数的返回值,app程序才能执行。各位有了解为啥的吗?给点意见吧。多谢!