第三阶段:12.linux库之动态库生成和使用

第三阶段:12.linux库之动态库生成和使用,第1张

第三阶段:12.linux库之动态生成和使用

2.动态库的制作:
gcc -shared -fpic testfunc.c -o libcalc.so
//生成 libxxx.so (动态库)文件
-shared 指定生成动态库
-fpic 标准,fPIC 选项作用于编译阶段,在生成目标文件时就得使用该选项,以生成位置无关的代码。

3.动态库的使用(与静态库一样):
gcc test.c -lcalc -L . //libcalc.so 动态库库名砍头去尾
生成的可执行文件a.out不能直接运行,提示没有这个文件,此时需要指定动态库位置

引用动态库,怎么指定动态库的位置
https://www.cnblogs.com/progamming/p/13043652.html
带动态库的程序,可以指定该程序运行时候,在LD_LIBRARY_PATH 所指定的路径去找库文件即: export LD_LIBRARY_PATH="/home/CLC/ShuMeiPi"
PS:Linux pwd(英文全拼:print work directory) 命令用于显示工作目录。执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。

export LD_LIBRARY_PATH="/home/CLC/ShuMeiPi" (临时的,换一个窗口就不行)

此时可执行文件a.out已经可以运行如果我们想在其他的窗口也可执行,可以写一个脚本start.sh (通过脚本把两个指令并在一起)

export LD_LIBRARY_PATH="/home/CLC/ShuMeiPi" 
 
./a.out

给脚本文件加一个可执行的权限

chmod +x start.sh

此时 直接运行脚本即可 ./start.sh

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5504268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存