_Noreturn function specifier (since C11) (deprecated in C23)
指定该函数不会返回到其调用点。
目录 |
语法
| _Noreturn 函数声明 | (自 C11 起) (C23 中弃用) | ||||||||
说明
_Noreturn
关键字出现在函数声明中,指定该函数不会通过执行返回语句或到达函数体末尾而返回(它可能通过执行
longjmp
返回)。如果声明为
_Noreturn
的函数返回,则行为是未定义的。如果能够检测到这种情况,建议编译器发出诊断信息。
_Noreturn
说明符可以在同一函数声明中出现多次,其行为与仅出现一次相同。
此说明符通常通过便捷宏
noreturn
使用,该宏在头文件
<stdnoreturn.h>
中提供。
|
宏
|
(自 C23 起) |
关键词
标准库
标准库中的以下函数是
noreturn
类型:
示例
输出:
Preparing to exit...
参考文献
- C23 标准 (ISO/IEC 9899:2024):
-
- 6.7.4 函数说明符 (p: TBD)
-
- 7.23 _Noreturn <stdnoreturn.h> (p: TBD)
- C17 标准 (ISO/IEC 9899:2018):
-
- 6.7.4 函数说明符 (p: 90-91)
-
- 7.23 _Noreturn <stdnoreturn.h> (p: 263)
- C11 标准 (ISO/IEC 9899:2011):
-
- 6.7.4 函数说明符 (p: 125-127)
-
- 7.23 _Noreturn <stdnoreturn.h> (p: 361)
参见
|
指示函数不会返回
(属性说明符) |
|
|
C++ 文档
关于
[[noreturn]]
|
|