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()来控制动态库的使用。

  • 相关阅读:
    LayUI上传图片
    快递查询
    安装 Python
    HTML5 WebSocket
    反射实例
    反射
    工厂模式之工厂方法案例
    工厂模式之简单工厂案例
    第三方登录
    封装条形码MaHelper
  • 原文地址:https://www.cnblogs.com/wsl222000/p/4476788.html
Copyright © 2011-2022 走看看