zoukankan      html  css  js  c++  java
  • Linux下动态库和静态库的生成命令

    区别
    1、静态库在编译的时候被加载,动态库在执行的之后被加载
    2、加载静态库编译所生成的可执行文件比使用动态库的方式要大
    3、静态库以.a为后缀,动态库以.so为后缀

     
    静态库的制作:(以main.c调用add()函数为例)
    1.通过gcc -c add.c 生成目标文件 =》add.o
    2.通过ar crs -o libadd.a add.o 生成静态库 =》libadd.a
    3.通过gcc main.c -L. -ladd 链接静态库编译,生成可执行文件a.out
    4.执行a.out即可
     
    动态库的制作
    1.通过gcc -c add.c 生成目标文件 =》add.o
    2.通过gcc -fPIC -shared -o libmyadd.so add.o 生成动态库文件 =》libmyadd.so
    3.通过gcc main.c -L. -lmyadd 生成可执行文件 =》a.out
    4,此时,运行找不到库文件,我们可以
     (1)将libmyadd.so放到/usr/lib或/lib目录下
     (2)通过export LD_LIBRARY_PATH=/home/linux/ych/lib 将库所在的绝对路径添加至环境变量中(通过echo $LD_LIBRARY_PATH查看此环境变量的值;通过unset LD_LIBRARY_PATH来删除此环境变量里的值)
     (3)在/etc/ld.so.conf.d/下新建一个sudo vi my.conf文件,在里面写入库所在的绝对路径,保存并执行sudo ldconfig执行配置文件。
  • 相关阅读:
    86. Partition List
    2. Add Two Numbers
    55. Jump Game
    70. Climbing Stairs
    53. Maximum Subarray
    64. Minimum Path Sum
    122. Best Time to Buy and Sell Stock II
    以场景为中心的产品设计方法
    那些产品经理犯过最大的错
    Axure教程:如何使用动态面板?动态面板功能详解
  • 原文地址:https://www.cnblogs.com/uncertain/p/9328522.html
Copyright © 2011-2022 走看看