为了演示,我用 2 个版本的 libgcc_s.so.1 制作了 2 个文件夹,我根据 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 如何被认为是无效的,我该如何手动测试它?