C中退出代码11的一般含义是什么?我环顾四周,找不到明确的答案,所以我想我会在这里问。它来,当我尝试添加一个元素到一个向量。C中退出代码11的含义?
回答
没有标准定义应用程序必须在某些情况下设置哪些退出代码。完全取决于退出代码代表哪个错误甚至成功的程序员!
有时程序员认为任何不同于零的值都表示出错,有时这个值等于操作系统错误代码。
在Windows退出代码11上可能由于文件问题而使用。如果您想要描述此错误代码(特定于Windows而不一定是您的应用程序),请运行net helpmsg 11
。
您没有找到明确的答案,因为没有一个答案。由程序的作者决定他们希望使用哪些退出代码。标准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 shell通过报告退出代码来报告信号,该代码是信号数加128,所以139表示分段错误。
其他答案错过了“退出代码”这个短语中可能存在的歧义。我怀疑你所说的“退出代码”指的是与wait
家庭系统调用的检索的状态代码,如:
/* assume a child process has already been created */
int status;
wait(&status);
printf("exit code %d\n", status);
如果你这样做,你很可能会看到“退出代码11”,如果子进程段错误。如果子进程实际上调用了exit(11)
,您可能会看到“退出代码2816”。
最好是将这些事情称为“等待代码”或“等待状态”而不是“退出代码”,以避免与传递给退出的值混淆。一个等待代码包含几个信息拼装成一个整数。通常情况下,你不应该直接看整数(就像我在printf
中那样)。您应该使用<sys/wait.h>
的W*
宏来分析它。
开始与WIF*
宏找出种事情发生,然后利用这些信息来决定其他W*
宏来使用的,以获得详细信息。
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 */
}
- 1. Aapt用代码11退出
- 2. docker-compose退出代码的含义?
- 3. Java退出代码和含义
- 4. 在C++退出代码中解析csv 11
- 5. 退出代码11安装Persistent(Yesod)
- 6. GenerateDSYMFile:dsymutil失败,退出代码为11
- 7. Codesign返回xcode iphone项目的11退出代码 - 无法找到退出代码的文档11
- 8. Hive CLI:可能的退出代码及其含义是什么?
- 9. 在Windows C++中退出代码线程
- 10. C++中这段代码的含义
- 11. BASH中的退出代码
- 12. 退出代码中的Bash
- 13. 退出代码
- 14. “的java.exe”退出,代码为1 Xamarin C#
- 15. “在C++ 11中自动更改含义”
- 16. 在Python中退出代码
- 17. getRuntime()。EXEC()返回退出码11
- 18. JsHint退出代码
- 19. XulRunner退出代码
- 20. WinSCP退出代码
- 21. Python退出代码
- 22. CL.exe退出代码
- 23. 使用C++ 11 11个lambda代码
- 24. Linux,C++,负面退出代码,澄清?
- 25. Visual C++ 2010 - CL.exe退出代码5
- 26. C代码以非零状态退出
- 27. 将C代码退出错误
- 28. 退出代码-1返回到C#
- 29. 如何使用退出代码退出程序:C#
- 30. FSEEK过程与退出代码完成11
您确定自己的意思是“退出代码”,而不是*信号11 *? –
也许你正在混合退出码和返回码,甚至Kerrek提到的信号。显示导致问题的源代码。 – Marged
哪个平台? Linux,Windows还是一般? –