静态库制作与使用

111 阅读1分钟

1 库的定义

  • 库文件是计算机上的一类文件,可以简单的把库文件看成―种代码仓库,它提供给使用者一些可以直接拿来用的变量、函数或类。
  • 库是特殊的一种程序,编写库的程序和编写一般的程序区别不大,只是库不能单独运行。
  • 库文件有两种,静态库和动态库(共享库),区别是:静态库在程序的链接阶段被复制到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。
  • 库的好处:1.代码保密2.方便部署和分发

2 静态库制作

image-20230325163624738.png 制作步骤:

1.将c/cpp文件编译生成.o文件

image-20230325164422743.png

2.使用ar工具打包.o文件生成.a文件

image-20230325164632336.png

3 静态库的使用

image-20230325165243554.png

注:在给别人发送lib静态库的时候一定要把所需要的头文件发送给别人,不然别人是不知道库里面有什么东西的

直接编译main.c是没有办法通过的,因为head.h跟main.c不在同一级目录下,会编译报错 image-20230325165558870.png

通过-I 命令指定头文件路径,但是这是会报函数未定义引用的错误:原因是没有加上依赖库,main函数找不到依赖的库 image-20230325165739285.png

加上依赖库以及依赖库的路径,编译通过 image-20230325170149219.png

总结: 静态库使用方法:gcc/g++ test.c -o test -I 头文件路径 -l 库名称 -L 库文件路径