php开发大型网站开发,wordpress 添加图片水印,电商平台有哪些软件,怎么区分网站的好坏命令规则 lib 名字 .so 制作步骤 1#xff09;生成与位置无关的代码#xff08;生成与位置无关的代码#xff09; 2#xff09;将.o打包成共享库#xff08;动态库#xff09; 发布和使用共享库 动态库运行原理#xff1a; 生成动态库#xff1a; gcc -fPIC -c *.c -… 命令规则 lib 名字 .so 制作步骤 1生成与位置无关的代码生成与位置无关的代码 2将.o打包成共享库动态库 发布和使用共享库 动态库运行原理 生成动态库 gcc -fPIC -c *.c -I ./include 打包动态库并移动 使用动态库 /***
main.c
***/#includestdio.h
#includeMyCalc.hint main()
{int a 10;int b 20;int result a b;printf(a b %d\n,result);return 0;
} ubuntu1604ubuntu:~/wangqinghe/C/sharelib$ gedit main.c ubuntu1604ubuntu:~/wangqinghe/C/sharelib$ gcc main.c -Iinclude -L ./lib/ -lMyCalc -o myapp ubuntu1604ubuntu:~/wangqinghe/C/sharelib$ ls app include lib main.c myapp src ubuntu1604ubuntu:~/wangqinghe/C/sharelib$ ./myapp a b 30 ldd 命令查看程序执行时依赖的所有的库 ubuntu1604ubuntu:~/wangqinghe/C/sharelib$ ldd myapp linux-vdso.so.1 (0x00007fffe8d13000) libc.so.6 /lib/x86_64-linux-gnu/libc.so.6 (0x00007f92ffac7000) /lib64/ld-linux-x86-64.so.2 (0x00007f92ffe91000) 设置动态库环境变量(临时) export LD_LIBRARY_PATH./lib 永久生效 bansh.rc 将export LD_LIBRARY_PATH./lib绝对路径 解决动态库无法加载 需要找到动态链接器的配置文件动态库的路径写到配置文件中更新 sudo idconfig -v cd etc ls -l ld.so.conf vi ld.so.conf (o 在当前行下行创建一行) 将动态库路径写到该配置文件中绝对路径 sudo idconfig -v 动态库的优点 执行程序体积小动态库更新方便(接口没变) 缺点 发布程序时需要将动态库发布给用户加载速度较静态库较慢转载于:https://www.cnblogs.com/wanghao-boke/p/11294197.html