在执行文件前放一个.so文件有什么用?
What’s the purpose put a .so file before execution file?
今天看到一个执行方法
/lib/ld-linux-x86-64.so ./foo
我知道在执行命令之前放置一个 bash 变量意味着在执行命令之前设置该环境变量。
但是现在,它是一个共享库,放在那里的目的和作用是什么?
动态链接器 /lib/ld-linux-x86-64.so
的特殊之处在于它可以 运行 作为可执行文件 或 链接到另一个可执行文件以用作库本身。不过,这不是您可以对任意 .so
文件执行的操作。
无论哪种方式,其目的都是让./foo
在运行的时候加载其他共享库。有关详细信息,请参阅 its manpage。
今天看到一个执行方法
/lib/ld-linux-x86-64.so ./foo
我知道在执行命令之前放置一个 bash 变量意味着在执行命令之前设置该环境变量。
但是现在,它是一个共享库,放在那里的目的和作用是什么?
动态链接器 /lib/ld-linux-x86-64.so
的特殊之处在于它可以 运行 作为可执行文件 或 链接到另一个可执行文件以用作库本身。不过,这不是您可以对任意 .so
文件执行的操作。
无论哪种方式,其目的都是让./foo
在运行的时候加载其他共享库。有关详细信息,请参阅 its manpage。