- 概念:程序在编译时会把库文件的二进制代码链接到目标程序中,这种方式称为静态链接。
如果多个程序中用到了同一静态库中的函数或类,就会存在多份拷贝。 - 特点:
- 静态库的链接是在编译时期完成的,执行的时候代码加载速度快。
- 目标程序的可执行文件比较大,浪费空间。
- 程序的更新和发布不方便,如果某一个静态库更新了,所有使用它的程序都需要重新编译。
├── 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