2.9. 调整错误信号、错误处理和程序退出

C 库产生的所有捕获或错误信号都要通过 __raise() 函数实现。 可以重新实现此函数或者它使用的低级函数。

Caution

IEEE 754 浮点处理标准规定,对异常的缺省响应是继续执行而不进行捕获。 可通过调整 fenv.h 中的函数和定义来修改浮点错误处理方式。 另请参阅Chapter 4 浮点支持

有关与错误相关的函数的详细信息,请参阅 rt_misc.h 包含文件。

Table 2.10 中显示了捕获和错误处理函数。 有关应用程序初始化和关闭的其他信息,另请参阅调整 C 库以适应新的执行环境

Table 2.10. 捕获和错误处理 

函数 说明
_sys_exit() 所有从库中的退出最终都会调用。 请参阅_sys_exit()
errno 是一个用于错误处理的静态变量。 请参阅errno
__rt_errno_addr() 可以调用此函数以获取 errno 变量的地址。 请参阅__rt_errno_addr()
__raise() 发出信号以指示运行时异常。 请参阅__raise()
__rt_raise() 发出信号以指示运行时异常。 请参阅__rt_raise()
__default_signal_handler() 向用户显示错误指示。 请参阅__default_signal_handler()
_ttywrch() 将字符写入到控制台中。 _ttywrch() 的缺省实现采用半主机方式,因此,它使用半主机调用。 请参阅_ttywrch()
__rt_fp_status_addr() 可以调用此函数以获取 fp 状态字的地址。 请参阅__rt_fp_status_addr()
Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0349AC
Non-Confidential