静态库和动态库的区别:
1.静态库在编译时会被连接到目标代码中,程序运行时将不再需要该静态库。
2.动态库在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入,因此在程序运行时还需要动态库存在。
静态库的创建步骤:
1:编辑要生成的库文件:vim add.c(在这里实现a+b的功能)
2:将库文件编译成目标文件.o gcc -c add.c -o add.o
3:将目标文件生成静态库ar rcs libadd.a add.o(lib是前缀,add.a是想要生成的静态库的名字)
以上已经创建好了静态库。
4:编辑调用库函数vim test.c
5:将源文件编译成可执行文件gcc -static(不加默认是动态库) test.c -l+(库文件名) -L+(库文件的路径)
动态库的创建步骤:
1:编辑要生成的库文件:vim add.c(在这里实现a+b的功能)
2:将库文件编译成目标文件.o gcc -c add.c -fpic
3:将目标文件生成动态库gcc add.o -o libadd.so -shared
以上已经创建好了动态库。
4:编辑调用库函数vim test.c
5:将源文件编译成可执行文件 gcc test.c ./libadd.so(动态库文件)