4.2.5. __declspec(nothrow)

__declspec(nothrow) 属性指明函数调用从不导致将 C++异常从调用传播到调用方。

ARM 库头自动将此限定符添加到 C 函数声明中,依照 ISO C 标准,这些函数从不抛出异常。

用法

如果编译器知道函数从不抛出异常,它或许可以为该函数的调用方生成较小的异常处理表。

限制

如果函数调用导致将 C++异常从调用传播到调用方,则该行为是未定义的。

如果在不启用异常的情况下进行编译,则会忽略此修饰符。

示例


struct S

{

    ~S();

};



__declspec(nothrow) extern void f(void);

void g(void)

{

    S s;

    f();

}

另请参阅

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