库的基本知识

1.什么是库?

        库是一种可执行的二进制文件,是编译好的代码。

2.为什么要使用库?

        提高开发效率。

3.Linux下库的种类

        静态库:静态库实在程序编译的时候会被链接到目标代码里面。所以我们的程序运行就不再需要该静态库了。因此编译出来的体积就比较大。静态库以lib开头,以.a结尾。

        动态库:(动态库也叫共享库)动态库在程序编译的时候不会被链接到目标代码里面,而在程序运行的时候被载入的,所以我们的程序运行就需要该动态库了。因此编译出来的体积就比较小。动态库以lib开头。以.so结尾。

4.静态库的制作

静态库的制作步骤:

<1>编写或准备库的源代码

<2>将源代码.c文件编译生成.o文件

<3>使用ar命令创建静态库

<4>测试库文件

libmylib.a:库文件名

mylib:库名

5.静态库的使用

         如果我们的程序代码用到了库文件里面的函数,我们在编译的时候需要链接库。系统默认会在/lib或者/usr/lib去找库文件。或者在编译的时候我们制定库的路径。

        举例:

        gcc test.c -lmylib -L .

        -l:指定静态库的库名

        -L:指定静态库的查找位置。-L . 表示在当前目录下去查找

6.动态库的制作

        动态库制作步骤:

         <1> 编写或准备库的源代码

        <2> 将源码.c文件编译生成.o文件

        <3> 使用gcc命令创建动态库

        <4> 测试库文件

7.动态库的使用

        如果我们的程序代码用到了库文件里面的函数,我们在编译的时候需要链接库。系统默认会在/lib或者/usr/lib去找库文件。或者在编译的时候我们制定库的路径。

         举例:

         gcc test.c -lmylib -L .

         -l:指定动态库的库名

        -L:指定动态库的查找位置。-L . 表示在当前目录下去查找

        在动态库使用是,系统会默认去/lib,/usr/lib目录下去查找动态函数库,如果我们使用的库不在里面,就会提示错误。解决这个问题有三种方法。

         第一种方法:将生成的动态库拷贝到/lib或者/usr/lib里面去,因为系统会默认去这俩个路径下寻找。

        第二种方法: 把我们的动态库所在的路径加到环境变量里面去,比如我们动态库所在的路径为/home/test,我们就可以这样添加。

        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值