Как увидеть инструкции внутри исполняемых файлов скомпилированного языка? - PullRequest
2 голосов
/ 20 января 2020

Когда я компилирую исходный файл C / C ++, компилятор создает другой исполняемый файл. Как увидеть инструкции этого файла? Как называется этот процесс?

gcc hello.c -o hello
./hello

Здесь первым после выполнения первой строки генерируется имя файла 'hello'. Мне нужно увидеть инструкции этого файла "привет".

1 Ответ

5 голосов
/ 20 января 2020

Исполняемый файл a.out находится в двоичном формате. Вы можете открыть его в любом текстовом редакторе (например, vi, vim et c) или в шестнадцатеричном редакторе, но вы не сможете понять его содержимое.

Вы можете использовать некоторые команды для получения дополнительной информации о что содержится в исполняемом файле. Некоторые примеры команд: nm, strings, objdump

Пример:

$ nm a.out
$ strings a.out
$ objdump -xD --demangle a.out

Прочтите их руководство, чтобы узнать о них больше

...