c/c++语言开发共享execl的返回值

我正在运行execl函数来通过我的代码编译程序。 我想检查编译是否正确。 所以我写了b = execl("usr/bin/gcc","cc",path,NULL); 然后检查if( b==-1) 。 但即使汇编中存在错误,它也没有进入if语句。 有什么想法吗? 谢谢!

 int b=0; if ((pid1 = fork())<0) perror("Error forking"); else { if(pid1==0) b= execl("/usr/bin/gcc","cc",path,NULL); else wait(&status); } if(b==-1) printf("n--------n"); 

    如果exec成功,它将永远不会返回。 成功意味着能够找到并启动命令。 如果不成功,则返回-1。

    您需要的是从父进程中的wait中使用的status提取命令的退出值。

    您有一些宏来确定子进程运行的状态。

    如果此status等于0,那么您将知道该命令成功运行,任何其他值意味着该命令无法正常执行其任务。

      以上就是c/c++开发分享execl的返回值相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/518757.html

      (0)
      上一篇 2020年12月4日
      下一篇 2020年12月4日

      精彩推荐