阅读更多
1、创建静态库的过程:
1)写源程序
math.c view.c
2)编译源程序
gcc -c math.c ==> math.o
gcc -c view.c ==> view.o
3)创建静态库文件
ar -r libmyku.a math.o view.o
2、使用静态库文件
1)写程序,调用库中的函数
testku.c
2)编译
gcc -c testku.c ==> testku.o
3)连接
第一种方式:
gcc testku.o libmyku.a ==> a.out
第二种方式:
gcc testku.o -l myku ==> a.out
依赖环境变量LIBRARY_PATH
连接过程:将库名myku变成文件名libmyku.a,然后在LIBRARY_PATH环境变量指定的路径找到文件libmyku.a,最后进行连接。
第三种方式:
gcc testku.o -l myku -L .
不需要依赖环境变量LIBRARY_PATH,用-L指定查找库文件的路径
3、创建共享库
1)写源程序
math.h math.c view.c
2)编译源程序
gcc -c -fpic math.c ==> math.o
gcc -c -fpic view.c ==> view.o
3)连接并生成共享库文件
gcc -shared math.o view.o -olibmysku.so ==>libmysku.so
4、使用共享库
1)写使用程序
testku.c
2)编译
gcc -c testku.c
3)连接
gcc testku.o -lmysku -L. ==> a.out
4)运行
a.out
依赖环境变量LD_LIBRARY_PATH
a.out在运行期间调用库中的函数时,需要先找到共享库文件,查找库文件的方式是搜索LD_LIBRARY_PATH指定的路径
project
src
bin
lib
doc
练习:
写几个函数(考虑打印菱形,一个打印空心,一个打印实心),将这此函数做成静态库文件,并调用它,再做成共享库文件,并调用它。