免费com域名网站,免费模板的软件,ppt模板素材免费,如何推广自己的网站定义#xff1a;动态函数库#xff0c;是在程序执行时动态#xff08;临时#xff09;由目标程序去调用
优点#xff1a;
调用时不复制#xff0c;程序运行时动态加载到内存#xff0c;供程序调用#xff0c;系统只加载一次#xff0c;多个程序可以共用#xff0c;…定义动态函数库是在程序执行时动态临时由目标程序去调用
优点
调用时不复制程序运行时动态加载到内存供程序调用系统只加载一次多个程序可以共用节省内存。 程序升级简单因为app里面没有库的源代码升级之后只要库的名字不变函数名以及参数不变只是实现做了优化就能加载成功。 缺点
加载速度比静态库慢占用内存大 版本更新麻烦发布程序需要提供依赖的动态库
命名规则动态库文件名的命名方式是“libxxx.so”,库名前加”lib”后缀用”.so”“xxx”为动态库名。 动态库的制作
生成 .so 文件 gcc -shared -fpic SumSub.c -o libSum.so -shared 指定生成动态库
-fpic 标准fPIC 选项作用于编译阶段,在生成目标文件时就得使用该选项,以生成位置无关的代码。 动态库的使用
gcc main.c -lSumSub -L ./
-L告诉gcc编译器从-L制定的路径去找动态库。默认是从/usr/lib 或 /usr/local/lib去找可以修改 如gcc main.c -I ./include/ -L ./lib -lmycalc 如果编译后无法运行:
提示找不到.so文件需要把编译的动态库放到Linux的 /usr/lib
使用sudo cp libfilename.so /usr/lib 再次运行 另一种常用方法 设置指定动态库的临时位置只能在当前位置使用 比如配置临时环境变量只针对当前路径 export LD_LIBRARY_PATH/home/pi/你的文件路径
改进
通过shell脚本命令把环境变量和./main放进去给脚本增加可执行权限:vi start.sh 写入: export LD_LIBRARY_PATH/home/pi/你的文件路径 ./main 保存 增加权限:chmod x start.sh 最后运行./start.sh du xxx查看内存大小