超级酒窝

文章
6
资源
0
加入时间
3年0月20天

C/C++编程:__attribute__ noreturn为什么要有__attribute__((noreturn))其他例子

一些库函数,本身没有返回值,例如abort()和exit(),在编译的时候,GCC自动按照这个规则编译。而对于自己定义的函数,如果你不想让它有返回值,那么可以使用__attribute__ ((noreturn))__attribute__ noreturn这个属性告诉编译器函数不会返回。当遇到函数需要返回值却还没运行到返回值处就已退出来的情况,该属性可以避免出现错误信息。用来抑制关于未达到代码路径的错误C库函数中的abort()和exit()的声明格式就采用了这种格式:extern voi