当SIGABRT信号触发时,堆栈是否会被自动解开?
- 内容介绍
- 文章标签
- 相关推荐
本文共计170个文字,预计阅读时间需要1分钟。
在C中发生SIGABRT时,栈是否会被解构(析构函数运行)取决于调用栈中的对象是否具有析构函数,以及这些对象的生命周期。
如果对象在SIGABRT发生前已经离开其作用域,其析构函数会被自动调用。如果对象仍然在作用域内,那么析构函数不会立即调用,除非有其他机制确保它们在程序的其他部分得到正确清理。
这个回答表明,SIGABRT发生时,不一定会调用析构函数。
当在C中发生SIGABRT时,堆栈是否被解开(析构函数运行)?谢谢.
This answer表示不调用析构函数.本文共计170个文字,预计阅读时间需要1分钟。
在C中发生SIGABRT时,栈是否会被解构(析构函数运行)取决于调用栈中的对象是否具有析构函数,以及这些对象的生命周期。
如果对象在SIGABRT发生前已经离开其作用域,其析构函数会被自动调用。如果对象仍然在作用域内,那么析构函数不会立即调用,除非有其他机制确保它们在程序的其他部分得到正确清理。
这个回答表明,SIGABRT发生时,不一定会调用析构函数。
当在C中发生SIGABRT时,堆栈是否被解开(析构函数运行)?谢谢.
This answer表示不调用析构函数.
