动态库和静态库

【1】库的概念

1.库是一个二进制可执行的文件;(存储功能函数)

2.库需要被载入到内存中使用

3.比较于二进制程序,库是不能单独运行的

4.每个操作系统都有自己的库,不兼容。

1.库的分类

1.静态库

2.动态库

可以通过后缀来区分静态库或者动态库

windows linux
静态库 *.lb libxxx.a
动态库 *.lld libxxx.so

2. 库存在的意义

  1. 库是已经写好的,成熟的,可以复用的功能代码,我们写的很多代码都是依赖于基础库

  2. 提高代码移植效率,可以不用移植源码,直接移植库即可;

【2】静态库

1. 静态库的原理

用静态库封装功能函数,在程序编译到 链接库 步骤,将静态库函数 继承 到二进制文件中,最终生成一个可执行二进制程序;

优点:

  1. 程序运行的时候,与静态库没有任何关系,可以完全脱离静态库

  2. 方便移植;

缺点:

  1. 存储的时候浪费磁盘空间

  2. 运行的时候浪费内存空间

你可能感兴趣的:(Linux,C,linux)