1、临时修改,log out之后就失效
在terminal中执行:
export LD_LIBRARY_PATH=./
2、让当前帐号以后都优先加载当前目录的动态库
修改~/.bash_profile 在文件末尾加上两行:
LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH
3、让所有帐号从此都优先加载当前目录的动态库
修改/etc/profile 在文件末尾加上两行:
LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH
你说的程序应该是采用了 dynamic loading ,实际上调用了这样一组接口 :dlopen dlclose dlsym
函数名被作为参数传递进去,交给动态链接器 ld.so 。随后 ld.so 会在已经加载的动态库中查找与函数名匹配的符号。如果查找成功就可以返回一个地址指向这个符号的地址。对于函数,这个地址就相当于是一个函数指针。
而这整个过程可以顺利进行下去,还要依赖于当前程序与动态库的 ABI
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)