首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数可能是属性‘noreturn’的候选函数。

函数可能是属性‘noreturn’的候选函数。
EN

Stack Overflow用户
提问于 2014-09-08 18:55:41
回答 2查看 3.4K关注 0票数 2
代码语言:javascript
复制
void sbs(){
      exit(0);
    }

警告:

函数可能是属性‘noreturn’的候选函数。

收到警告不能返回..。但是这里不调用返回,而是调用exit(0)。

EN

回答 2

Stack Overflow用户

发布于 2014-09-08 18:58:24

这个警告是完全正确的。

属性noreturn意味着您应该像这样编写原型:

C11:_Noreturn void neverreturn()

_Noreturn是属性。

或者GCC变体:__attribute__((__noreturn__)) void neverreturn()

这里显然是__noreturn__

这样编译器就可以进行优化,因为它知道函数永远不会返回。

票数 3
EN

Stack Overflow用户

发布于 2014-09-08 19:05:57

正如其他人所提到的,您的函数应该给编译器指示它不会返回给调用者。

请检查下面的链接。

What is the point of noreturn?

‘noreturn’ function does return

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25731202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档