zoukankan      html  css  js  c++  java
  • linux 下动态库和静态库的生成和调用

    1、 静态链接库:

    适用命令gcc  ar

    准备你的库文件  假设为  src1.c  src2.c  (如果有头文件,会自动调用)

    gcc -c src1.c sr2.c -o src.o

     ar -rsv libsrc.a src.o

           编写调用函数  假设为  main.c

           gcc -o test main.c -L./ -lsrc 

    (-L说明当前路径,此处为./ 表示当前文件夹,

    -l 表示要调用的静态库的名称,此处为libsrc<关键字lib忽略>)

    另: ar -t libsrc.a可以查看一个静态库包含了哪些obj文件

    2、 动态链接库:

    gcc -o libsrc.so -shared -fPIC src1.c src12.c

    编写调用函数  例如  main.c

    调用:

    gcc -o test main.c -L. -lsrc

    (-L. 表示在当前目录寻找so文件,注:L后有个点

    -lsrc  linux命名规则,会自动添加lib和.so变成libsrc.so来调用)

    查看:

    ldd test   (发现找不到libsrc.so文件)

    rm libsrc.so /usr/lib (需要su命令获取root权限)

    ./test 即可运行

  • 相关阅读:
    [LeetCode]Linked List Cycle
    ACM 整数划分(四)
    ACM 子串和
    ACM 阶乘之和
    ACM 组合数
    ACM 阶乘的0
    ACM 比大小
    ACM 擅长排列的小明
    ACM 重建二叉树
    cocos2dx 魔塔项目总结(一)
  • 原文地址:https://www.cnblogs.com/codingtao/p/6097805.html
Copyright © 2011-2022 走看看