Linux c编程之静态库与动态库
一、库的说明
库是用于提供特定功能的函数接口的集合,以文件形式存在。在linux系统中,分动态链接库和静态链接库两种,简称动态库和静态库。其中,静态库文件以.a为后缀为名,动态库文件以.so为后缀名。
二、动态库和静态库的区别
- 静态库在程序编译时链接到目标程序中,在程序运行时不需要静态库文件。由于静态库中的文件都编译到了整个程序中,导致目标程序体积变大。
- 动态库在程序编译时不会被链接到目标程序中,可执行文件体积较小。程序在运行的时候加载动态库,因此需要保证程序运行所在的环境中有相应的动态库文件
三、静态库的生成和使用
3.1 静态库的生成
源码:
catlog.c:
#include <stdio.h>
int cat_log_show_str(char *info)