静态库的制作与使用
1 库的定义
- 库文件是计算机上的一类文件,可以简单的把库文件看成―种代码仓库,它提供给使用者一些可以直接拿来用的变量、函数或类。
- 库是特殊的一种程序,编写库的程序和编写一般的程序区别不大,只是库不能单独运行。
- 库文件有两种,静态库和动态库(共享库),区别是:静态库在程序的链接阶段被复制到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。
- 库的好处:1.代码保密2.方便部署和分发
2 静态库制作
制作步骤:
1.将c/cpp文件编译生成.o文件
2.使用ar工具打包.o文件生成.a文件
3 静态库的使用
注:在给别人发送lib静态库的时候一定要把所需要的头文件发送给别人,不然别人是不知道库里面有什么东西的
直接编译main.c是没有办法通过的,因为head.h跟main.c不在同一级目录下,会编译报错
通过-I 命令指定头文件路径,但是这是会报函数未定义引用的错误:原因是没有加上依赖库,main函数找不到依赖的库
加上依赖库以及依赖库的路径,编译通过
总结: 静态库使用方法:gcc/g++ test.c -o test -I 头文件路径 -l 库名称 -L 库文件路径