1静态库与动态库的区别
库文件可以为我们在编写程序时提供函数,文件等,我们可以直接使用,但不能看到其实现,静态库,代码在执行之前已经加入到执行代码中,成为执行程序一部分,文件后缀为.a。动态库,代码在执行程序启动时加载到执行码代码中,文件后缀为.so。
2静态库与动态库的优缺点
静态库由于其代码在执行程序之前已经加入到执行吗中,所以他运行效率高,自然也造成编译速度慢的缺点,并且他可执行文件体积大。动态库由于函数库文件在连接阶段并不与目标文件连接在一起,气可执行文件体积小,编译速度快,但运行效率低一些。动态函数库的改变并不影响你的程序,所以动态函数库的升级比较方便。
3静态库与动态库的制作使用
1》静态库
先通过gcc -c objtest.c生成.o文件然后通过ar -rc libtest.a libtest1.o libtest2.o生成库文件通过gcc -o test main.c -I头文件的路径 -L库文件的路进 -ltest来调用库文件。
2》动态库
先通过gcc -shared -fPIC -o test.so main.c生成库文件通过gcc main.c -L -ltest.so -o main调用库文件。
初学者的一点学习心得,,,,