zoukankan      html  css  js  c++  java
  • C> gcc函数属性__nothrow__, __leaf__

    nothrow

    __nothrow__属性告诉编译器函数不能抛出异常。

    The nothrow attribute is used to inform the compiler that a function cannot
    throw an exception. For example, most functions in the standard C library can
    be guaranteed not to throw an exception with the notable exceptions of qsort
    and bsearch that take function pointer arguments.
    

    leaf

    __leaf__属性表示不会调用其他任何函数。

    -mtpcs-leaf-frame
    Generate a stack frame that is compliant with the Thumb Procedure Call Stan-
    dard for all leaf functions. (A leaf function is one that does not call any other
    functions.) The default is ‘-mno-apcs-leaf-frame’.
    

    noreturn

    noreturn属性表示函数不能返回,少数标准库函数会用上如abort和exit(总是能执行成功,而且无需返回)。

    A few standard library functions, such as abort and exit, cannot return. GCC
    knows this automatically. Some programs define their own functions that never
    return. You can declare them noreturn to tell the compiler this fact. For
    example,
    void fatal () __attribute__ ((noreturn));
    void
    fatal (/* . . . */)
    {
    /* . . . */ /* Print error message. */ /* . . . */
    exit (1);
    }
    ...
    

    参考

    Using the GNU Compiler Collection for GCC 10.2.0

  • 相关阅读:
    ZOJ 3954 Seven-Segment Display
    ZOJ 3955 Saddle Point
    ZOJ 3950 How Many Nines
    ZOJ 3957 Knuth-Morris-Pratt Algorithm
    PAT L2-018. 多项式A除以B
    hihocoder 1500 EL SUENO
    hihocoder 1498 Diligent Robots
    hihocoder 1497 Queen Attack
    hihocoder 1490 Tree Restoration
    SCU 4443 Range Query
  • 原文地址:https://www.cnblogs.com/fortunely/p/14600343.html
Copyright © 2011-2022 走看看