c/c++语言开发共享是否允许全局静态标识符以单个_开头?

换句话说, 静态 (=文件范围)全局变量可以从一个下划线开始,而不会在C实现中创建名称冲突的可能性吗?

https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html表示“…保留名称包括以下划线开头的所有外部标识符(全局函数和变量)(’_’ )……(强调我的)。

我注意到Linux内核启动的函数可能不应该直接用双下划线调用。

我发现这个概念很有用,我发现_(_)somethingsomething_更容易阅读,当涉及区分“私有”标识符时,但我理解(?)双下划线邀请名称与C实现冲突。

全局, 静态 _variables_functions安全?

    标准保留带有下划线1的前缀。


    1 (引用自: ISO / IEC 9899:201x 7.1.3保留标识符1)
    所有以下划线开头的标识符以及大写字母或另一个下划线始终保留用于任何用途。
    所有以下划线开头的标识符始终保留用作普通和标记名称空间中具有文件范围的标识符。

    这不安全。 根据体系结构,即使对于static对象,您的代码也可能需要一些重定位。 因此,链接器必须可以看到它们的名称以及CRT符号的名称。 这可能会导致冲突。

      以上就是c/c++开发分享是否允许全局静态标识符以单个_开头?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

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

      ctvol管理联系方式QQ:251552304

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

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐