linux应用开发-设计静态库
一 应用程序
函数库(用户)和系统调用(linux内核)
二 库分类
1 静态链接库(*.a)
一个程序使用一个函数库
2 动态链接库(*.so)
多个程序可以使用同一个函数库,减少程序的大小
3 静态库比动态库大
三 制作自己的静态库
1 gcc -c mylib.c -o mylib.o
2 ar cqs libmylib.a mylib.o
3 将做好的libmylib.a 复制到/usr/lib目录下
四 使用自己创建的静态库
1 linux默认链接动态库,若要链接静态库则:gcc -static hello.c -o helloc.out
2 使用自己的动态库:
创建main.c来调用自己的库
创建main.h里面包含了要调用的函数库里面的函数的原型声明
编译调用gcc -static -lmylib main.c -o main.out -l参数为调用自己的lib
GCC在链接时,默认只会链接C函数库,而对于其他的函数库,则需要使用-l选项来显示地指明需要链接。
linux目录/usr/lib和/lib下存放了相应的lib,常用libmylib.a来命名,前面的lib必须加上
五 简单加法计算器案列
1 编写add.c
2 编译成静态库:gcc -c add.c -o add.o ar cqs libadd.a add.o
3 复制到/usr/lib: cp libadd.a /usr/lib/
4 创建main.c来作为主函数调用add函数 创建main.h来包含add函数的声明
5 编译调试:gcc -static -ladd main.c -o main.out
6 运行./main.out
时间: 2024-10-07 21:17:25