zoukankan      html  css  js  c++  java
  • 静态链接库、动态链接库

    http://www.cnblogs.com/nufangrensheng/p/3578784.html

    静态链接库
    静态库是obj文件的一个集合(目标文件中通常仅解析了文件内部的变量和函数,对于引用的函数和变量还没有解析,这需要将其他已经编写好的目标文件引用进来,将没有解析的函数和变量进行解析,通常引用的目标是库),通常静态库以".a"为后缀,名字格式一般为libxxx.a。静态库由程序ar生成。

    动态链接库
    动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的 程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式是按照特殊方式形成的。库中函数和变量的地址是相对地址,不是绝对地址,其真实地址在调用动态库的程序加载时形成。

    动态链接库的名称有别名(soname)、真名(realname)和链接名(linker name):

    别名:libxxx.so,这种形式的库名正是执行编译命令时编译器要搜索的名字。

    真名:动态链接库的真实名称,一般总是在别名的基础上加上一个小版本号、发布版本等构成。

    链接名:程序链接时使用的库的名字。


    动态加载库
    动态加载库和一般的动态链接库所不同的是,一般动态链接库在程序启动时就要寻找动态库,找到库函数;而动态加载库可以用程序的方法来控制什么时候加载。动态加载库主要有函数dlopen()、dlerror()、dlsym()和dlclose()来控制动态库的使用。

  • 相关阅读:
    寒假学习进度九
    寒假学习进度八
    RestTemplate-记录
    Axure licensee key 8~9-转
    Mysql数据库引擎介绍--转载
    Mysql外键约束--转载
    IDEA快捷建使用
    MySQL在windows上多次安装失败
    五款优秀的端口扫描工具
    java 图片处理 base64编码和图片二进制编码相互转换-转载
  • 原文地址:https://www.cnblogs.com/wsl222000/p/4476788.html
Copyright © 2011-2022 走看看