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

    关于库
    ================
    1,静态库和动态库
    1.1 静态库:书店(卖出去) (优点:速度稍快,不依赖库 缺点:浪费存储空间)
    1.2 动态库:图书馆(借用) (缺点:速度稍慢,依赖于库 优点:节省大量空间)(更常用)

    2,制作静态库:(以example1.c、example2.c,假设这些都是不含main函数的代码)
    gcc example1.c -o example1.o -c
    gcc example2.c -o example2.o -c
    ar rcs libxxx.a example1.o example2.o (将example1.o和example2.o放到libxxx.a中)

    3,制作动态库:
    gcc example1.c -o example1.o -c
    gcc example2.c -o example2.o -c
    gcc -shared -fPIC -o libyyy.so example1.o example2.o (将example1.o和example2.o放到libyyy.so中)


    4,使用库文件:(假设main.c代码中使用了example1.c和example2.c的代码)
    gcc main.c -o main -L库所在路径 -lxxx
    gcc main.c -o main -L库所在路径 -lyyy

    注意:
    使用静态库编译的程序,可以不依赖于库直接运行。
    使用动态库编译的程序,运行时,必须确保程序可以找到该动态库:
    1. 将该动态库直接放置到系统的标准库路径下(比如/lib 、/usr/lib)
    2. 将库所在路径设置到环境变量LD_LIBRARY_PATH中: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:库所在路径

  • 相关阅读:
    测试候选区
    This is my new post
    发布到首页候选区
    nb
    []
    隐藏列(gridview遍历)
    交叉表、行列转换和交叉查询经典
    数据库设计中的14个技巧
    jQuery操作表格,table tr td,单元格
    不愿将多种编程语言杂糅在一起?可能你还没意识到而已
  • 原文地址:https://www.cnblogs.com/defen/p/5186701.html
Copyright © 2011-2022 走看看