文章目录
一、使用vim编辑器准备程序
在创建函数库前,我们需准备示例的程序。
先在终端窗口创建并打开有个文件,以备之后的程序存储所用
1、编写main.c文件
Esc退出到命令模式:wq保存并退出。
2、编写sub.c和sub.h
sub.c
sub.h
完成编写后,同样输入:wq保存并退出
3、hello.c和hello.h
hello.c
hello.h
同样编写完后记得保存。
二、使用gcc生成静态库
1、转换.o文件
在终端窗口输入gcc -c hello.c,将文件转换成.o格式文件
同时这里可以输入ls -l查看转换是否成功
同理转换sub.c
同样也是输入ls -l可以查看
2、转换.a文件
在终端输入ar -crv ‘‘转换后的文件名.a’’ hello.o
同样可以输入ls -l查看是否生成成功
同理生成sub.a文件格式
3、连接静态库并运行函数
在终端窗输入gcc main.c libmyhello.a libmysub.a -o main连接静态库,其实就是gcc main.c "两个.a文件的名字’ -o main
同样可以输入ls -l查看是否生成
然后输入./main执行程序,输出
三、使用gcc生成动态库
1、生成.so文件
在终端窗输入gcc -shared -fPIC -o libhello.so hello.o
和gcc -shared -fPIC -o libsub.so sub.o
2、使用动态库运行程序
在运行之前,需要先将动态库复制到此目录下
输入mv “.so文件名” 目录地址 即可
然后输入gcc -o hello main.c -L. -lhello -lsub
./main运行程序