linux-库文件

1、什么是库文件

        库文件与源文件和头文件不同,库文件是二进制的,不是独立的程序,但能够向其他程序提供函数服务,是实现程序程序的模块化设计的重要组成部分,能够减少工程的编译时间,便于工程维护。库文件又分为静态库和动态库两种,分别有不同的制作方法和使用场景。Windows系统下库文件的命名格式为"xxx.a"或"xxx.dll",Linux系统下的库文件命名格式通常为"libxxx.a"或"libxxx.so"

        windows :
                静态库 :  xxx.lib    
                动态库 :xxx.dll
        Linux:
                静态库:libxxx.a    [xxx才是库名,lib是固定格式]
                动态库:libxxx.so    [xxx才是库名,lib是固定格式]

         通常可以通过后缀名快速区分动态库静态库

2、静态库

        将主程序和源文件生成的库文件一起编译成可执行文件,所以静态库生成的可执行程序体积较大,在执行的是时候不需要链接库文件,因为可执行文件中包含了所有静态库的内容,更新比较麻烦。

2.1 静态库的制作

        1、只编译不链接;(.c--->.o)

        2、生成静态库文件:(指令:ar )

2.2 静态库的使用

然后执行a.out即可。

2、动态库

        将主程序和源文件生成的库文件链接生成可执行文件,所以静态库生成的可执行程序体积较小,在执行的时候需要连接库文件,不能直接执行,但是易于更新。

2.1 动态库的制作

                        -fPIC : 忽略文件位置

2.2 动态库的使用

        1、编译生成可执行文件

        2、执行可执行文件

        此时文件会报错;需要我们配置文件,我们可以将自己的库文件放在系统下的/usr/lib

注:最后也可以临时改变环境变量解决错误 (export)[PATH];通过修改库文件的配置文件也可以解决执行文件错误问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值