c/c++语言开发共享gcc – 属性nothrow用于什么?

我正在浏览一些gcc属性列表,我发现这个引起我注意的那个:

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. The nothrow attribute is not implemented in GCC versions earlier than 3.3. 

C函数如何抛出exception? 有人可以解释这个属性用于什么?

似乎有一个nothrow标签可用,但我发现那里似乎与C ++ std::nothrow 。 不确定这是否与我的特定问题有关。

    这在从C ++代码调用C代码时具有重要意义,它保证了编译器的优化目的,即C代码不能抛出exception。 如果它是C代码并且不能抛出,或者因为它是专门编写的C ++从不抛出exception,这很有用。

    所以最终如果你正在编写纯C,你应该永远不需要这个,但是如果你认为有人可能会将你的代码从C ++称为库,那么它可以很方便。

      以上就是c/c++开发分享gcc – 属性nothrow用于什么?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      www.ctvol.com true Article c/c++语言开发共享gcc – 属性nothrow用于什么?

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/544900.html

      (0)
      上一篇 2021年1月9日 下午8:20
      下一篇 2021年1月9日 下午8:22

      精彩推荐