23-_Noreturn函数(C11)
16.8 _Noreturn 函数(C11)
C99新增 inline 关键字时,它是唯一的函数说明符(关键字 extern 和 static 是存储类别说明符,可应用于数据对象和函数)。C11新增了第2个函数说明符 _Noreturn ,表明调用完成后函数不返回主调函数。 exit() 函数是 _Noreturn 函数的一个示例,一旦调用 exit() ,它不会再返回主调函数。注意,这与 void 返回类型不同。 void 类型的函数在执行完毕后返回主调函数,只是它不提供返回值。
_Noreturn 的目的是告诉用户和编译器,这个特殊的函数不会把控制返回主调程序。告诉用户以免滥用该函数,通知编译器可优化一些代码。