A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

静态库:

作用:对一系列.o文件打包,方便使用

生成方法:ar -cr lib库名.a  文件

使用:gcc main.c -L

寻找库:

默认缺省路径:/lib64          /usr/lib64

自定义查找路径: -L 库路径

实际操作一次:

我创建了一个文件用来存放加减乘这样的.c .h文件

现在我要使用这些文件,第一步我就时让他们变成.o文件

再利用gcc生成可执行文件a.out

由于文件的众多,在这几步过程里,我们已经看的眼花缭乱,这完全不符合程序员的核心价值观:程序简单、代码美观、可读性强。所以这时候就需要我们引入静态库打包!

这时候我们发现系统生成了一个叫libmymath.a的库文件,我们用nm查看一下

没错了,这里不就包含着sub.o  add.o mul.o 这样我们需要的文件,现在我们使用库再执行一次

运行完成结果正确,我们的静态库成功打包

静态库,每个进程在调用时都要在物理内存上开辟一块空间用来存储静态库,当调用的进程越来越多,这就严重造成了物理内存的浪费,而动态库的出现就是为了解决这个问题。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马