场景:自己写的代码既不希望给别人看原码,但可以给你调用,这时就需要将代码打包变成库,库又分成静态库和动态库。
目录
1.动态库知识点
2.动态库的制作
1.动态库知识点
动态库的命名方式与静态库类似,前缀相同,为“lib”,后缀变为“.so”。所以为“libfunc.so”
动态函数库,是在程序执行时动态(临时)由目标程序去调用
缺点: 运行慢
发布程序需要提供依赖的动态库
优点: 小
程序升级简单,因为app里面没有库的源代码,升级之后只要库的名字不变,函数名以及参数不变,只是实现做了优化,就能加载成功
2.动态库的制作
gcc -shared -fpic xxx.c -o libxxx.so //xxx为文件名 前面需要加lib
例如:gcc -shared -fpic file2.c -o libxxx.so成立libxxx.so动态库
-shared 指定生成动态库
-fpic 标准,fPIC 选项作用于编译阶段,在生成目标文件时就得使用该选项,以生成位置无关的代码。
3.动态库的使用
当我们和静态库一样的编译方式生成可执行文件时