【Linux】动态库和静态库
发布日期:2021-05-10 06:33:23 浏览次数:24 分类:原创文章

本文共 637 字,大约阅读时间需要 2 分钟。



文章目录













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节点号一模一样

  • 硬链接文件除了和源文件的名字不一样,其他的都一样

上一篇:【进程】进程间通信----管道
下一篇:printf函数使用—针对不同数据类型的输出结果详解

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年05月06日 22时47分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章