Linux静态库+demo

1.什么是Linux静态库呢?

        Linux静态库(Static Library)是一种包含已编译的目标代码的文件集合,用于在链接时与其他目标代码一起组成可执行文件。与动态库(Dynamic Library)不同,静态库的代码在编译时完全复制到最终可执行文件中,因此不需要额外的库文件依赖关系。

2.静态库的优缺点

        优点:使用静态库的优点是,可执行文件不依赖于外部库文件,因此更具移植性和独立性。

        缺点:静态库会增加可执行文件的大小,并且相同的静态库代码会在每个可执行文件中重复出现,造成资源浪费。每次更新静态库的时候,我们需要重新编译代码。

3.如何生成自己的静态库呢?

1.编译源代码文件为目标文件(Object File)

2.将目标文件添加到静态库中

3.编译,文件结构如下。编译如下

Linux静态库+demo_第1张图片

4.附一下min.c max.c 和test1.c的代码

//min.c
int min(int a, int b) { return a > b ? b : a; }
//max.c
int max(int a, int b) { return a > b ? a : b; }
//test1.c
#include 
int max(int a, int b);
int min(int a,int b);
int main() {
  printf("%d,%d",max(0,99),min(0,99));
}

5.如果静态库与当前需要编辑的文件没有在同一目录下,我们需要在-L下指定路径:如:

 

你可能感兴趣的:(Linux,linux,运维,服务器)