美文网首页
关于so的简单汇总

关于so的简单汇总

作者: 小胖_20c7 | 来源:发表于2019-06-06 14:19 被阅读0次
    关于soname的注意事项
    不同主版本号之间的共享库是完全不兼容的,所以soname只要有主版本号就可以了
    so是以主版本号来区分是不是同一个so
    不同的大版本号,代表不同的so,可以共存,例如:
        liba.so.1
        liba.so.2
        是可以共存的,代表不同的so(完全不兼容)
    链接的时候可以不指定主版本号,这个时候会到相应的链接路径查找最新的so版本,即主版本号最大的soname
    
    关于so的环境变量
    LD_DEBUG,用来调试.so(还有一些其它环境变量,可以参考man ld.so)
    LD_LIBRARY_PATH(方便开发,export LD_LIBRARY_PATH=`pwd`)
    
    共享对象的两种形式
    1 ELF文件(librt.so)
    2 脚本文件(/usr/lib64/libc.so)
    
    共享对象的初始化
    #define   __DLL_START__   __attribute__((constructor))
    #define   __DLL_STOP__    __attribute__((destructor))

    相关文章

      网友评论

          本文标题:关于so的简单汇总

          本文链接:https://www.haomeiwen.com/subject/uqzyxctx.html