Linux静态库和动态库
在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行的二进制代码(但不可以独立执行),可以被操作系统载入内存执行。 Linux下的库有两种:静态库和动态库(共享库)。 本文将介绍Linux下静态库和动态库的概念以及相应的创建与使用方法,文章内容为个人学习笔记,欢迎指正。 1 对比 类型 特点 静态库 在编译时被链接到程序中,作为可执行程序的一部分。在程序运行时不再依赖静态库,占用内存大 动态库 在可执行程序运行时载入内存。动态库已经在内存中不需要再次载入 2 静态库 2.1 概念 静态库指将所有相关的目标文件打包成为一个单独的文件,即静态库文件。 静态库以.a结尾,链接器会将程序中使用到的函数的代码从库文件中拷贝到程序中。 由于每个使用静态库的应用程序都需要拷贝所有函数的代码,所以静态链接的文件会比较大。 在Unix系统中,静态库以一种称为存档(archive)的特殊文件格式存放在磁盘中。 存档文件是一组连接起来的可重定位目标文件的集合,有一个头部用来描述每个成员目标文件的大小和位置。 2.2 静态库的创建和使用 2.2.1 环境准备 创建根文件夹static...

