gpt4 book ai didi

c - main() 在运行时异常时返回什么?

转载 作者:太空狗 更新时间:2023-10-29 16:05:19 25 4
gpt4 key购买 nike

当程序遇到运行时异常(例如段错误)时,C int main() 函数返回什么?

在搜索答案时,我遇到了很多关于 what main() should return, like this one 的讨论/帖子.

最佳答案

如果程序崩溃,它(main 函数)不会返回。如果一个程序崩溃了,那么操作系统就会杀死这个程序,所以这个程序就不再运行了,包括 main 函数。一个不运行的程序不能自行返回任何东西。什么“返回”到运行环境取决于操作系统,操作系统接管了程序。

无论返回什么,都由操作系统处理。对于 POSIX 系统,进程被信号(如 SIGSEGV,段错误)杀死,操作系统将返回 128 加上信号编号。这记录在例如this waitpid reference page (以及其中的链接)。

对于 Windows,它通常被报告为一个神秘的 long 值(通常是值 0x80000000 加上其他标志和数据)。

对于不处理崩溃的较旧或更原始的操作系统,“返回”的值通常是发生崩溃时“返回值”寄存器中或堆栈顶部的值。

关于c - main() 在运行时异常时返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55703377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com