静态库:在编译时静态库对库函数的链接就已经完成,运行程序时可以不需要静态库了,方便移植。
创建静态库:1.编写一个 .c文件,将非主函数的函数进行实现代码逻辑
2.将 .c文件编写好再编译成 .o 文件 (例如: gcc -c -o mylib.o)
3.将 .o 文件制作成静态库文件 lib+库名(libmylib.a)例如:(ar crs libmylib.a mylib.o)
4.编写一个主函数的.c 文件 调用库中的函数
5.编译主函数文件同时链接静态库(gcc -Wall -o test test.c -L -libmylib)
6.最后运行可执行程序。
动态库:动态库把对一些库函数的链接载入推迟到程序运行的时。可以实现进程之间的资源共享。
创建静态库 :1.编写一个 .c文件,将非主函数的函数进行实现代码逻辑
2.将 .c文件编写好再编译成 .o 文件 (例如: gcc -fPIC -Wall -c mylib.o)
3.将 .o 文件制作成动态库文件 lib+库名(libmylib.a)例如:(gcc -shared -fPIC -o libmylib.so mylib.o)(samba服务器共享文件夹)
4.编写一个主函数的.c 文件 调用库中的函数
5.编译主函数文件同时链接动态库(gcc -Wall -o test test.c -L -libmylib)
6.将动态库加载进系统---->直接将动态库拷贝到 /lib或 /usr/lib
7.最后运行可执行程序。