gpt4 book ai didi

linux - 根据 $LD_LIBRARY_PATH 和架构选择库

转载 作者:太空宇宙 更新时间:2023-11-04 03:52:13 26 4
gpt4 key购买 nike

为了演示,我创建了 2 个文件夹,其中包含 2 个版本的 libgcc_s.so.1我根据 ldd 寻找库选择:

> file {A,B}/libgcc_s.so.1
A/libgcc_s.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
B/libgcc_s.so.1: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped

> LD_LIBRARY_PATH=A:B ldd MyProgram | grep libgcc_s.so.1
libgcc_s.so.1 => B/libgcc_s.so.1

为什么 MyProgram 不使用 A/libgcc_s.so.1 ?我知道这是架构问题,但 A/libgcc_s.so.1 如何被视为无效以及如何手动测试它?

最佳答案

ELF header's第三个字段是“machine”,对于 amd64 (x86_64),其值为 62;对于 i386 (80386),其值为 3。加载器当然会检查此字段以确定它是否可以使用给定的库,如果不能,它将继续搜索搜索列表中的下一个路径。

关于linux - 根据 $LD_LIBRARY_PATH 和架构选择库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25974254/

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