4.2.4. __declspec(noreturn)

__declspec(noreturn) 属性指明函数从不返回值。

Note

此 __declspec 属性具有等效的函数属性 __attribute__(noreturn)

用法

可以使用此属性减少调用从不返回值的函数所产生的开销,如 exit()。 如果 noreturn 函数将值返回到其调用方,则该行为是未定义的。

限制

在调用 noreturn 函数时,不会保留返回地址。 这会限制调试器显示调用堆栈的功能。

示例


__declspec(noreturn) void overflow(void); // never return on overflow



int negate(int x) 

{

    if (x == 0x80000000) overflow();

    return -x;

}

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential