Gcc 和 Clang
__attribute__ ((__visibility__("hidden")))
- 用于设置符号的可见性(visibility)属性
__visibility__("default")
- 默认可见性,符号在链接过程中对外可见
__visibility__("hidden")
- 隐藏可见性,符号在链接过程中对外不可见
- 在创建静态库或共享库时很有用,可以限制对某些符号的直接访问,提高封装性和安全性
__visibility__("internal")
- 内部可见性,符号对当前编译单元内可见,但对其他编译单元不可见
- 对于在模块内部使用的函数或变量非常有用,可以避免符号冲突和不必要的全局可见性
__attribute__ ((internal_linkage))
- 用于设置符号的链接属性为内部链接(internal linkage)
- 链接属性指定了符号在链接时的连接方式和可见性
- 常见的链接属性包括外部链接(external linkage)和内部链接(internal linkage)
__attribute__ ((external_linkage))
- 外部链接,符号可以在不同的编译单元之间共享和访问
__attribute__ ((internal_linkage))
- 内部链接,符号只在当前编译单元内可见和访问。其他编译单元无法直接访问该符号
- 内部链接在限制符号的可见性方面很有用,它可以用于避免符号冲突并提高代码的封装性
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ C++_多态、类型转换、数据段、BSS段、类型视图06/21
- ♥ 深入理解C++11:C++11新特性解析与应用 一12/21
- ♥ SOUI源码:log4z06/24
- ♥ STL_deque05/18
- ♥ STL_queue06/07
- ♥ C++17_第一篇12/20