zoukankan      html  css  js  c++  java
  • 静态库和动态库

    什么是库

    本质上来说,库是一种执行的二进制形式,可以被操作系统载内存执行。
    

    区别

    静态库在程序编译时会被链接到目标代码中,程序运行时将不需要该静态库,因此体积较大。
    动态库在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入,因此在程序运行时需要动态库的存在,因此代码体积较小。
    

    如何创建静态库

    1.生成目标文件 hello.o
    2.创建静态库   #ar crs  libmyhello.a hello.o       静态库格式  lib**.a
    3.使用静态库   #gcc -o hello main.c -L. -lmyhello  
    

    如何创建动态库

    1.生成目标文件(**位置独立的目标文件**)  
      #gcc -fPIC -c hello.c
    2.创建动态库 #gcc -shared -libmyhello.so hello.o
    3.使用动态库  #gcc -o hello main.c -L. -lmyhello
    4.设置运行时库路径
      方法1: export LD_LIBRARY_PATH="动态库文件所在目录"
      方法2: 修改配置文件     etc/ld.so.conf.d/  目录下新建一个  mylib.conf 文件,并加入动态库文件的存放路径,再执行 ldconfig 命令
  • 相关阅读:
    单点登录实现机制
    简单工厂
    单例模式
    Remoting
    Redis编码问题
    减少手机页面跳转的方法(转)
    失血模型,充血模型
    Hashtable
    Why we don’t recommend using List<T> in public APIs
    Aggregate累加器
  • 原文地址:https://www.cnblogs.com/fengyang66/p/6014297.html
Copyright © 2011-2022 走看看