Какой инструмент можно использовать для просмотра объектного файла?

Я читаю старую книгу о компоновщиках и загрузчиках, и у нее есть образы объектного кода. Но я не могу понять, какие инструменты используются для отображения содержимого этих файлов. Я был бы признателен, если бы кто-нибудь мог указать на инструмент.

Вот код C и соответствующее отображение объектных файлов.

Исходный файл mc :

 extern void a(char *); int main(int argc, char **argv) { static char string[] = "Hello, world!\n"; a(string); } 

Исходный файл ac :

 #include <unistd.h> #include <string.h> void a(char *s) { write(1, s, strlen(s)); } 

Код объекта для mo :

 Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000010 00000000 00000000 00000020 2**3 1 .data 00000010 00000010 00000010 00000030 2**3 Disassembly of section .text: 00000000 <_main>: 0: 55 pushl %ebp 1: 89 e5 movl %esp,%ebp 3: 68 10 00 00 00 pushl $0x10 4: 32 .data 8: e8 f3 ff ff ff call 0 9: DISP32 _a d: c9 leave e: c3 ret ... 

Код объекта для ao :

 Sections: Idx Name Size VMA LMA File off Algn 0 .text 0000001c 00000000 00000000 00000020 2**2 CONTENTS, ALLOC, LOAD, RELOC, CODE 1 .data 00000000 0000001c 0000001c 0000003c 2**2 CONTENTS, ALLOC, LOAD, DATA Disassembly of section .text: 00000000 <_a>: 0: 55 pushl %ebp 1: 89 e5 movl %esp,%ebp 3: 53 pushl %ebx 4: 8b 5d 08 movl 0x8(%ebp),%ebx 7: 53 pushl %ebx 8: e8 f3 ff ff ff call 0 9: DISP32 _strlen d: 50 pushl %eax e: 53 pushl %ebx f: 6a 01 pushl $0x1 11: e8 ea ff ff ff call 0 12: DISP32 _write 16: 8d 65 fc leal -4(%ebp),%esp 19: 5b popl %ebx 1a: c9 leave 1b: c3 ret 

Interesting Posts

Разделение слов, когда параметр используется в подстановке команд

sed, как заменить, когда в строке есть «http: //»?

Переход на виртуальный терминал медленный

Установите минус двух списков с завершающим символом новой строки / общий черный список с использованием общих предметов домашнего обихода

Дублирование ошибки PV в GParted при попытке удалить настройку RAID1

В Solaris 10 и 11 все еще используется распределение slab для их распределителя памяти ядра

Как регистрировать все мои DNS-запросы?

Как перейти к смещению «Nth» в файле

Необходимо удалить каталог с именем '~', созданным случайно

Решение Kickstarter для OpenBSD?

Файловая система для загрузочного раздела

Запуск заданной фоновой работы в bash

Псевдотерминалы против пары труб

Нужен сценарий Awk или Unix для транспонирования / поворота в следующем шаблоне

Как переключить пользователя без ссылок на старый?

Linux и Unix - лучшая ОС в мире.