在Linux下类库主要有静态库和动态库两种库,首先呢,就说说这两种库的差异:
静态库:
在程序连接的时候会自动的连接到程序里,
所以一但编译完成,静态库也就不需要了。静态库通常以.a结尾。
例如:libutil.a libuuid.a libz.a等。
动态库:
在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,
因此在程序运行时还需要动态库存在。通常以.so结尾。如:libz.so。
因此,静态库相对于共享库来说有更高的效率但是也要消耗更多的空间。
值得注意的是,如果既有静态库又有动态库,在编译时默认的使用动态库。
在创建自己的静态库或者动态库时候我想,绝大部分人也都会觉得很轻松,下面就直接贴步骤
静态库:
(1) 编写库文件testlib.c
(2)编写一个头文件用于声明我们使用的函数testlib.h
(3) 编译testlib.c: