是它可以调用的一个额外的功能时,主要()退出在C?

谢谢!

有帮助吗?

解决方案

可以注册功能使用main功能atexit退出后运行

MSDN有的如何一个很好的例子简洁完成。基本上,atexit登记的功能时,被登记的相反的顺序被执行。

其他提示

尝试atexit()功能:

void myfunc() {
    /* Called when the program ends */
}

int main( int arc, char *argv[] ) {
    atexit( myfunc );
    ...
    return 0;
}

大问题和答案。只是一个方面说明。在Delphi类似的功能的滥用库导致其是烦人慢上关闭应用程序。

同时 atexit() 是的标准对注册的功能运行的进程的终止,海湾合作委员会提供了一个 析构 功能的属性* 导致一个功能自动调的时候 main() 已完成或 exit() 已经被称为。

void __attribute__ ((destructor)) my_fini(void);

* 海湾合作委员会特

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top