• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2023-07-06 09:26 Aet 隐藏边栏 |   抢沙发  8 
文章评分 2 次,平均分 5.0

Gcc 和 Clang

__attribute__ ((__visibility__("hidden")))

  1. 用于设置符号的可见性(visibility)属性
  2. __visibility__("default")
    1. 默认可见性,符号在链接过程中对外可见
  3. __visibility__("hidden")
    1. 隐藏可见性,符号在链接过程中对外不可见
    2. 在创建静态库或共享库时很有用,可以限制对某些符号的直接访问,提高封装性和安全性
  4. __visibility__("internal")
    1. 内部可见性,符号对当前编译单元内可见,但对其他编译单元不可见
    2. 对于在模块内部使用的函数或变量非常有用,可以避免符号冲突和不必要的全局可见性

__attribute__ ((internal_linkage))

  1. 用于设置符号的链接属性为内部链接(internal linkage)
  2. 链接属性指定了符号在链接时的连接方式和可见性
  3. 常见的链接属性包括外部链接(external linkage)和内部链接(internal linkage)
  4. __attribute__ ((external_linkage))
    1. 外部链接,符号可以在不同的编译单元之间共享和访问
  5. __attribute__ ((internal_linkage))
    1. 内部链接,符号只在当前编译单元内可见和访问。其他编译单元无法直接访问该符号
    2. 内部链接在限制符号的可见性方面很有用,它可以用于避免符号冲突并提高代码的封装性

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2023-07-08
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享