据我了解,C++ 属性[[noreturn]]
可以应用于不返回调用者的函数,以便编译器可以生成更优化的代码。我确实理解它对“正常”功能有影响,但想知道在将其应用于main
功能时它是否也会对性能产生影响。
假设我想编写一个不断运行的程序而不会中止(这意味着该main
函数永远不会返回给调用者(=操作系统)
其中哪一个生成更快(更优化)的代码,或者根本没有任何区别?
选项1:
int main()
{
while(true)
//..
return 0;
}
选项 2:
[[noreturn]] int main()
{
while(true)
//..
return 0;
}