gpt4 book ai didi

c - 是否可以在 C 程序中硬编码共享库位置?

转载 作者:太空狗 更新时间:2023-10-29 15:18:04 25 4
gpt4 key购买 nike

通常,程序(在 Linux 中)使用 LD_LIBRARY_PATH 来定位它们的共享库,但我想使用自定义路径,而不永久更改 LD_LIBRARY_PATH。

基本上,bash-wrapper 可以很容易地实现它:

#!/bin/sh
export LD_LIBRARY_PATH=/my_lib_path/
/my_bin_path/myprogram $*

(Bash 仅在此脚本中更改 LD_LIBRARY_PATH 而不是永久更改)

我想知道是否有可能在纯 C 中在一个可执行文件中做同样的事情而不用丑陋的 bash-hack。所有路径和库的确切名称在编译时都是已知的。

最佳答案

-rpath 选项传递给 ld,或者通过您的编译器 -Wl,-rpath。它允许您扩展搜索路径。它通常由希望从某个插件目录加载模块的可执行文件使用。您可以通过此方法添加任意数量的目录。

关于c - 是否可以在 C 程序中硬编码共享库位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14092627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com