__attribute__((visibility("default")))
2015-10-12 12:39
323 查看
__attribute__((visibility("default")))
试想这样的情景,程序调用某函数A,A函数存在于两个动态链接库liba.so,libb.so中,并且程序执行需要链接这两个库,此时程序调用的A函数到底是来自于a还是b呢?
这取决于链接时的顺序,比如先链接liba.so,这时候通过liba.so的导出符号表就可以找到函数A的定义,并加入到符号表中,链接libb.so的时候,符号表中已经存在函数A,就不会再更新符号表,所以调用的始终是liba.so中的A函数。
为了避免这种混乱,所以使用__attribute__((visibility("default")))__attribute__((visibility("hideen")))设置这个属性。
试想这样的情景,程序调用某函数A,A函数存在于两个动态链接库liba.so,libb.so中,并且程序执行需要链接这两个库,此时程序调用的A函数到底是来自于a还是b呢?
这取决于链接时的顺序,比如先链接liba.so,这时候通过liba.so的导出符号表就可以找到函数A的定义,并加入到符号表中,链接libb.so的时候,符号表中已经存在函数A,就不会再更新符号表,所以调用的始终是liba.so中的A函数。
为了避免这种混乱,所以使用__attribute__((visibility("default")))__attribute__((visibility("hideen")))设置这个属性。
相关文章推荐
- android studio增量包升级
- Xcode7开发下 UITableView 在group模式下面 顶部空白的问题和解决
- Linux 命令 - jobs: 显示后台作业的状态信息
- 用SQL批量替换数据库字符串-PHPCMS
- UPnP 协议简介(原创)
- RAC11.2.0.4.0->11.2.0.4.7
- installshield 2013安装包图标问题
- 前台传来的新数据与数据库中的旧数据比较更新算法
- git push github 远程仓库 要求每次输入账号密码问题
- LVS-NAT演示
- ios项目重命名
- ssh配置连接
- java识别一篇文章中某单词出现个数的方法
- 修改表空间尺寸
- 数据结构题
- PHP常用代码片段
- 止增笑耳星际前传
- 初探KVM-单机虚拟化环境
- SVN更换上传地址
- 【Lua】C-API