c语言共享代码之静态库与动态库

共享代码可以提高效率,但为了代码的安全性等原因,一般很少保留c文件,而是通过将c文件编译成 .o文件,

通过共享h文件和.o文件来实现共享代码。


多个.o文件管理起来比较麻烦,如果把这些文件打包成一个库,通过链接库来调用里面的函数是一种常用的方法。

一般分为静态库(存档)和动态库。



创建存档



存档是静态库,形式为libxxx.a  。可以用ar命令来创建存档  

ar -rcs  libxxx.a   a.o b.o ......

此时将a.o 和 b.o 打包在libxxx.a的静态库中



使用:


<1>将libxxx.a放入标准目录中

此时编译时,不用指定库文件的路径    gcc -lxxx 即可链接该库


<2>将libxxx.a放入自己设定的目录中

此时编译时,需要指定库目录   gcc -L /路径/   -lxxx






创建动态库




gcc -shared x.o   -o    libxxx.so (linux或unix)  
                                   libxxx.dylib (mac)



使用方法同静态库。










 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值