【Linux】动态库和静态库

1.命令

  • ldd:查看当前程序依赖的动态库文件
    C动态库:lib.so.6 => /usr/lib64.so.6
  • file:可以查看当前文件属性
     

2.动态库

  • 生成
  • gcc/g++ -shared -fPIC test.c -o(后面生成的动态库的名字)
    前缀:lib
    后缀:.so

    libabab.so => abab称之为动态库的名字
  • 编译可执行程序的时候,一定要告诉编译器,我们链接的动态库是哪个!
    gcc main.c -o main
    指定链接动态库所在的路径:-L [path]
    指定链接动态库的名字:-l[库的名字] (去掉前缀和后缀的)
     

3.静态库

  • 前提知识
    win下的静态库的后缀为.lib
    win下的动态库的后缀为.dll
     
  • 生成
  • ar -rc lib[名字].a [依赖的文件]
    注意:依赖的文件不是源文件,而是.o文件
    前缀:lib
    后缀:.a

    libabab.a => abab就是静态库的名字
    gcc main.c -o main -L [path] -l[静态库名字]

4.软硬链接

  • 软连接
  • 1.软连接想等于一个文件的快捷方式
  • 2.ln -s [源文件] (生成的软链接文件)
  • 3.软连接文件具有独立的inode节点
  • 4.在删除软连接文件或者软连接问阿金指向的源文件的时候,一定要将两者都删除
     
  • 硬链接
  • ln [源文件] (生成的硬链接文件)
  • 源文件和硬链接文件的inode节点号一模一样
  • 硬链接文件除了和源文件的名字不一样,其他的都一样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值