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 命令
  • 相关阅读:
    C艹函数与结构体
    c++ const 用法总结
    c++ 重载
    c++ 的makefile文件实例
    python3 异步模块asyncio
    C++ 面向对象 类成员函数this指针
    基于注释的Spring Security实战
    web 安全 初探 (正在更新)
    Spring dbcp连接池简单配置 示例
    Spring JDBC
  • 原文地址:https://www.cnblogs.com/fengyang66/p/6014297.html
Copyright © 2011-2022 走看看