Linux环境下的静态链接库和动态链接库

Posted CodeAllen嵌入式编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux环境下的静态链接库和动态链接库相关的知识,希望对你有一定的参考价值。

什么是链接库

计算机中,有些文件专门用于存储可以重复使用的代码块,例如功能实用的函数或者类,我们通常将它们称为库文件,简称“库”(Library)。

以 C 语言为例,如下为大家展示的就是一个函数库:

//myMath.c
int add(int a, int b) 
    return  a + b;


int sub(int a, int b) 
    return  a - b;


int mul(int a, int b) 
    return  a * b;


int div(int a, int b) 
    if (b != 0) 
        return a / b;
    
    return -1;

myMath.c 文件中包含 4 个函数,它们分别可以完成两个整数的加法、减法、乘法和除法运算。myMath.c 库文件的用法也很简单,直接将它添加到某一个 C 语言项目中,就可以直接调用文件中的 4 个函数,每个函数可以调用多次。

显然,实际开发中引入他人编写好的库文件可以省略某些功能的开发环节,提高项目的开发效率。但遗憾的是,类似 myMath.c 这种“开源”的库文件很难找到,多数程序员并不会直接分享源代码,他们更愿意分享库文件的二进制版本——链接库。

所谓链接库,其实就是将开源的库文件(例如上面提到的 myMath.c)进行编译、打包操作后得到的二进制文件。虽然链接库是二进制文件,但无法独立运行,必须等待其它程

以上是关于Linux环境下的静态链接库和动态链接库的主要内容,如果未能解决你的问题,请参考以下文章

Linux环境下的静态链接库和动态链接库

Linux下的静态链接库和动态链接库

linux下的动态链接库和静态链接库到底是个什么鬼?动态链接库的编译与使用

Linux 静态链接库和动态连接库

Linux 静态链接库和动态连接库

GCC编译过程与动态链接库和静态链接库