静态库与动态库的创建与使用

本文介绍了库文件的概念,详细对比了Linux下静态库与动态库的特点,并提供了两种库文件的创建与使用方法。

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

一、什么是库文件?

              你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数,但是不能看到函数的实现过程,其文件也不能单独运行!

二、Linux库文件的分类及存储路径?

               Linux库文件分为静态库和动态库:

               静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名:.a
               动态库:是在执行程序启动时加载到执行代码中,后缀名:.so

               库文件的存储路径包括   /lib   系统库  和/usr/lib   程序库

三、静态库的制作与使用

               创建:

                       gcc -c 源文件.c

                       ar rcs  静态库名 (lib名.c) 目标文件1 目标文件2

                       rc:静态库不存在,就创建该库文件

                       s :更新库文件

              使用:

                       静态库创建成功后,然后对全局变量和函数进行声明,在编译时加上库文件就行

                       gcc 文件 -l文件名 -L. 指定库的名字

四、动态库的制作与使用

              创建:

                       gcc -shared -FPIC -o 库名.so 源文件.c

              使用:

                       gcc 源文件.c ./库名.so -o 可执行文件名

五、静态库与动态库的区别

       1.静态库执行更快,不用加载静态库,但是编译时间较长;动态库执行速度慢,在执行时还要加载动态库,编译时间更快;

       2.静态库的代码体积比较大,编译的可执行文件过大,动态库的代码体积更小;

       3.静态库难以升级,升级时需要重新编译安装,动态库更易于升级,升级时只需要加载更新内容;

       4.动态库的布局比较差,难以部署,静态库的布局更好,更容易部署。

                    
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值