set_terminate (crt)
安装拥有 terminate将调用停止实例。
terminate_function set_terminate(
terminate_function termFunction
);
参数
- termFunction
停止对该函数的指针您编写。
返回值
返回指向 set_terminate 注册的前面的功能,以便以后可以恢复前面的功能。如果以前功能未设置,则返回值可用于还原默认行为;此值可能为空。
备注
set_terminate 功能内置 termFunction 作为 terminate调用的函数。,在引发异常之前,set_terminate 程序中使用 C++ 异常处理并可以随时调用。默认情况下terminate 调用 abort 。您可以通过编写拥有终止函数和调用与函数的名称 set_terminate 更改此默认值作为其参数。terminate 调用最后一个函数是作为参数 set_terminate。在执行任何所需的清理任务后, termFunction 应该退出程序。如果不退出 (如果该回调用方), abort 调用。
在一个多线程环境中,请停止函数为每线程分别进行维护。每个新线程需要安装自己终止函数。因此,每个线程都是负责自己终止进程。
terminate_function 类型在 EH.H 为返回 void的用户定义的终止函数的指针, termFunction 定义。该自定义功能 termFunction 不接受参数,不应返回到其调用方。如果它, abort 调用。异常不可能会引发从 termFunction的内部。
typedef void ( *terminate_function )( );
说明 |
---|
set_terminate 功能在调试器外部只有。 |
具有全部动态链接到的 DLL 或 EXE 的单个 set_terminate 处理程序;即使您调用 set_terminate 处理程序可以将另一个替换,或者可以替换另一个 DLL 或 EXE 设置的处理程序。
不支持此功能在 /clr:pure下。
要求
实例 |
必需的头 |
---|---|
set_terminate |
eh.h |
有关其他的兼容性信息,请参见中介绍的 兼容性 。
示例
为 停止参见示例。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例。