首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >退出代码11在C中的含义?

退出代码11在C中的含义?
EN

Stack Overflow用户
提问于 2015-06-29 02:24:59
回答 3查看 65.5K关注 0票数 16

退出代码11在C中的一般含义是什么?我环顾四周,找不到明确的答案,所以我想我应该在这里问一下。当我尝试将一个元素添加到一个向量中时,它就会出现。

EN

回答 3

Stack Overflow用户

发布于 2015-06-29 03:44:27

你没有找到一个明确的答案,因为没有一个。这是由程序的作者决定他们想要使用的退出代码。标准C只说明exit(0)exit(EXIT_SUCCESS)表示程序成功,而exit(EXIT_FAILURE)表示某种错误。(从main返回值相当于使用该值调用exit。)大多数常见的操作系统,包括Windows、Linux、OSX等,使用0表示成功,使用1到255之间的值表示错误;错误代码之间的选择仍然取决于应用程序编写者,值11并没有什么特殊之处。

在Linux和大多数其他Unix变种中,signal数字11表示segmentation fault,即remarked by Kerrek SB。当程序进行某种类型的无效内存访问时,就会发生分段错误,因此这可能是访问越界数组的结果,或者是指针运算中的错误,或者是试图访问空指针,或者其他与指针相关的错误。信号11与退出代码11不是一回事:当程序由于信号而终止时,它被标记为已被信号终止,而不是正常退出。Unix shells通过报告退出代码来报告信号,退出代码是信号号加上128,对于分段故障,则为139。

票数 17
EN

Stack Overflow用户

发布于 2015-06-29 05:05:16

其他答案遗漏了“退出代码”这一短语中可能存在的歧义。我怀疑您所说的“退出代码”是使用wait系列系统调用检索到的状态代码,如下所示:

代码语言:javascript
运行
复制
/* assume a child process has already been created */
int status;
wait(&status);
printf("exit code %d\n", status);

如果你这样做,如果子进程有段错误,你很可能会看到“退出代码11”。如果子进程实际调用了exit(11),您可能会看到"exit code2816“。

最好将这些东西称为“等待代码”或“等待状态”,而不是“退出代码”,以避免与传递给exit的值混淆。等待代码包含几段打包成单个整数的信息。通常,您不应该直接查看整数(就像我在上面的printf中所做的那样)。您应该使用<sys/wait.h>中的W*宏来分析它。

WIF*宏开始,找出发生了什么事情,然后使用该信息来决定使用哪些其他W*宏来获取详细信息。

代码语言:javascript
运行
复制
if(WIFEXITED(status)) {
  /* The child process exited normally */
  printf("Exit value %d\n", WEXITSTATUS(status));
} else if(WIFSIGNALED(status)) {
  /* The child process was killed by a signal. Note the use of strsignal
     to make the output human-readable. */
  printf("Killed by %s\n", strsignal(WTERMSIG(status)));
} else {
  /* ... you might want to handle "stopped" or "continued" events here */
}
票数 6
EN

Stack Overflow用户

发布于 2015-06-29 02:34:15

在某些情况下,没有定义应用程序必须设置哪些退出代码的标准。哪种退出代码代表哪个错误甚至是成功,完全取决于程序员!

有时程序员认为任何不同于零的值都表示错误,而有时此值等于操作系统错误代码。

在Windows上,由于文件存在问题,可能会使用退出代码11。如果您想要此错误代码的描述(特定于Windows,而不一定是您的应用程序),请运行net helpmsg 11

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31103254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档