Мне сложно понять выход ldd - особенно идентификаторы процессора. Строка в вопросе это одна:Понимание вывода ldd
Shortest.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, from ']', not stripped
Я несколько вопросов по этому поводу:
- Что «ELF» означает? Я знаю, что это то, что называются двоичными файлами Linux (Windows Binaries называются PE Binaries, «Portable Executable» Binaries), но это не аббревиатура для чего-то?
- Что означает LSB? Я даже не могу догадаться об этом ...
- Я вижу строку «Intel», теперь я серьезно задумываюсь о переносимости двоичных файлов Linux, поскольку ldd, похоже, ожидает, что каждый бинарный файл будет скомпилирован на процессоре Intel ... но что, если он не был скомпилирован на процессоре Intel? Или когда я пытаюсь запустить двоичный файл на компьютере, который не работает на процессоре Intel?
- Почему ']'? Я думаю, это должно быть какое-то Linker идентифицировать, но «]» не выглядит так же, как идентификатор ...
Заранее спасибо
Чтобы добавить к ответам ниже, это «Intel 80386», потому что это то, что был зарегистрирован код ЦП, как в определениях констант ELF. Однако все современные процессоры будут совместимы. Я не могу найти ответ для «из», даже если вы сбрасываете источник glibc. – Rup
@Rup: хорошо знать, спасибо – 2010-06-08 22:22:26