您的位置:首页 > 文旅 > 美景 > 南通做网站需要多少钱_网页无法访问百度_培训公司_百度平台订单查询

南通做网站需要多少钱_网页无法访问百度_培训公司_百度平台订单查询

2025/4/22 22:37:39 来源:https://blog.csdn.net/defrag257/article/details/147374959  浏览:    关键词:南通做网站需要多少钱_网页无法访问百度_培训公司_百度平台订单查询
南通做网站需要多少钱_网页无法访问百度_培训公司_百度平台订单查询

Linux下默认并不会像Windows那样加载可执行文件所在目录下的so,但是其实是提供了这个功能的,可以通过以下几种方式开启这个功能

1、ld链接时使用-rpath '$ORIGIN',gcc/g++链接时使用-Wl,-rpath,'$ORIGIN':

gcc -o myprogram myprogram.c -L. -lexample -Wl,-rpath,'$ORIGIN'

如果需要放在特定目录(比如bin下的可执行文件要加载lib下的so):

gcc -o myprogram myprogram.c -L. -lexample -Wl,-rpath,'$ORIGIN/../lib'

修改既有可执行文件(patchelf为第三方工具):

patchelf --set-rpath '$ORIGIN' myprogram

要注意这种方法只能作用于当前可执行文件搜索依赖的so,不能用于下一级的so搜索依赖的so

2、使用shell脚本加载器,并使用LD_LIBRARY_PATH环境变量指定搜索路径:

LD_LIBRARY_PATH='$ORIGIN' ./myprogram

或者:

export LD_LIBRARY_PATH='$ORIGIN'
./myprogram

要注意这种方法将作用于所有读到该环境变量的程序以及子级的so搜索依赖的so,特别是可能会影响子进程

3、使用shell脚本加载器,并使用ld.so的--library-path指定搜索路径

/lib64/ld-linux-x86-64.so.2 --library-path '$ORIGIN' ./program

要注意这种方法将作用于该程序以及子级so的搜索依赖的so,但不会影响子进程

这个方法的另一个好处就是可以将ld.so也集成进软件包中

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com