原文地址:http://www.linuxdiyf.com/linux/201106/553.html 学习Linux,你可能会遇到动态库的显式调用,这里将介绍动态库的显式调用的解决方法,在这里拿出来和大家介绍下。 ⑵用dlopen函数打开库文件,并指定打开方式 dllope的的第一个参数为共享库的名称,将会在下面位置查找指定的共享库。 ①环境变量LD_LIBRARY_PATH列出的用分号间隔的所有目录。 ②文件/etc/ld.so.cache中找到的库的列表,由ldconfig命令刷新。 ③目录usr/lib。 ④目录/lib。 ⑤当前目录。 ①RTLD_NOW:将共享库中的所有函数加载到内存 ②RTLD_LAZY:会推后共享库中的函数的加载操作,直到调用dlsym()时方加载某函数 ⑶用dlerror()函数测试是否打开成功,并进行错误处理; ⑷用dlsym获得函数地址,存放在一个函数指针中 ⑸用获得的函数指针进行函数调用。 ⑹程序结束时用dlclose关闭打开的动态库,防止资源泄露。 ⑺用ldconfig工具把动态库的路径加到系统库列表中 gcc -o main -ldl main.c 执行完后就生成了一个main文件 如果编译连接分开的话: gcc -c main.c gcc -o main mian.o -ldl 3、执行测试程序 输出 test 说明成功。 |
linux 动态度的显式调用
最新推荐文章于 2024-03-03 16:44:33 发布