linux——动静态库

Linux——文件系统清尾、动静态库-优快云博客


文章目录

目录

文章目录

前言

一、静态库使用

静态库使用方法:

二、动态库

1.创建动态库

 打包:

伪目标 .PHONY

​编辑

2.使用

3、解决动态库的加载问题

三、共享库

动态库是怎么做到对所有进程进行共享的?


前言

在上一篇博客中,已经解释动静态库的概念

在上一篇博客中已经创建了一个静态库,并且使用了一下静态库。

库搜索路径

从左到右搜索-L指定的目录。

由环境变量指定的目录 (LIBRARY_PATH)

由系统指定的目录

/usr/lib       

/usr/local/lib

/lib64/

1、第三方库,在往后使用时,必须要用gcc -l 来指定文件名;

2、深度理解errno本质;

3、查看动静态库链接

ldd a.out

4、gcc 默认是动态库链接,如果没有动态库,只能用静态库链接;

5、如果需要链接多个库,gcc可以链接多个库;

6、当我们把头文件加载到了系统文件当中,就不用再指明路径了。但是需要加-l指明文件名;

7、软硬链接 ln -s 目标路径


一、静态库使用

静态库使用方法:

 1、指令 gcc main.c -I 指定头文件路径 -L 指定方法路径 -l方法文件名

这个方法在上篇博客已经介绍过了。

2、将目标路径加载到系统文件加当中,也就是将静态库mv或者cp当系统文件当中;

将头文件拷贝到/usr/include当中

将静态库拷贝到/lib64/

 

3、添加软链接,将目标文件软链接到系统文件当中。

 

 为什么还是报错呢?因为我们main函数中包含的是没有math.h这个文件,而我们链接文件名为myinc,main函数中也就需要更改;

以上就是静态库的所有用法 

二、动态库

1.创建动态库

创建mylog.c mylog.h myprint.c myprint.h

mylog.c

#include "mylog.h"

void Log(const char*info)
{
    printf("Warning: %s\n&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃喵的鲤鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值