__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。
1、__attribute__((noreturn))
该属性通知编译器函数从不返回值,当遇到类似函数需要返回值而却不可能运行到返回值处就已经退出来的情况,该属性可以避免出现错误信息。
注:测试可以返回void类型。
代码如下:
#include <stdio.h>
__attribute__((noreturn))
int func()
{
printf("this is func\n");
return 10;
}
void func1()
{
printf("this is func1\n");
return (void)1;
}
void main()
{
printf("main start\n");
printf("func1 start\n");
func1();
printf("func start\n");
func();
printf("main end\n");
}
运行结果:
main start
func1 start
this is func1
func start
this is func
程序运行到fun函数return 10之前就退出整个程序了。
还有好多参数,涉及到在总结