linux 静态库动态库封装问题

本文介绍了Linux环境下静态库和动态库的区别,以及如何创建和使用它们。静态库在编译时会被整合到程序中,动态库在运行时加载。创建静态库的步骤包括编译源文件、使用ar创建归档文件和生成内容表。动态库的生成通过-fPIC和-shared选项。在使用动态库时,可能需要设置LD_LIBRARY_PATH或修改/etc/ld.so.conf。当需要依赖多个库时,可以在链接时指定-L和-I参数。对于依赖静态库的静态库创建,可以通过解压和重新打包.o文件实现,但需注意解决可能的依赖问题,如添加-lpthread和-lrt。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在Linux下类库主要有静态库和动态库两种库,首先呢,就说说这两种库的差异:

        静态库:

            在程序连接的时候会自动的连接到程序里,
            所以一但编译完成,静态库也就不需要了。静态库通常以.a结尾。
            例如:libutil.a libuuid.a libz.a等。
        动态库:

            在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,
            因此在程序运行时还需要动态库存在。通常以.so结尾。如:libz.so。
            因此,静态库相对于共享库来说有更高的效率但是也要消耗更多的空间。

       值得注意的是,如果既有静态库又有动态库,在编译时默认的使用动态库。

在创建自己的静态库或者动态库时候我想,绝大部分人也都会觉得很轻松,下面就直接贴步骤

        静态库:

            (1) 编写库文件testlib.c

            (2)编写一个头文件用于声明我们使用的函数testlib.h

     &n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值