-
概念:程序在编译时会把库文件的二进制代码链接到目标程序中,这种方式称为静态链接。
如果多个程序中用到了同一静态库中的函数或类,就会存在多份拷贝。
-
特点:
-
静态库的链接是在编译时期完成的,执行的时候代码加载速度快。
-
目标程序的可执行文件比较大,浪费空间。
-
程序的更新和发布不方便,如果某一个静态库更新了,所有使用它的程序都需要重新编译。
-
├── app
│ └── demo.cpp
└── tools
├── public.cpp
└── public.h
静态库制作
[root@localhost tools]# g++ -c -o libpublic.a public.cpp
├── app
│ └── demo.cpp
└── tools
├── libpublic.a
├── public.cpp
└── public.h
编译
g++ -o demo demo.cpp -L/home/root/code/02demo/tools -lpublic
├── app
│ ├── demo
│ └── demo.cpp
└── tools
├── libpublic.a
├── public.cpp
└── public.h
推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt