Глядя на руководства, objdump
и nm
имеют перекрывающиеся функции.
Когда бы вы использовали каждый из них? Какова была первоначальная цель каждой команды?
Глядя на руководства, objdump
и nm
имеют перекрывающиеся функции.
Когда бы вы использовали каждый из них? Какова была первоначальная цель каждой команды?
У них нет схожих параметров. nm
перечисляет символы файлов, а objdump
может отображать много различной информации о файлах. objdump
также может отображать символы, и на странице руководства явно указано, что «это похоже на информацию, предоставляемую программой nm, хотя формат отображения отличается».
Кажется, что nm — это posix, поэтому он доступен на платформах, отличных от gnu.
http://pubs.opengroup.org/onlinepubs/000095399/utilities/nm.html
Я вижу, например, что OSX по умолчанию не поставляется с objdump, но предоставляет «otool», который предлагает некоторые из тех же функций, которые «objdump» предлагает в Linux.
Так что я думаю, вы бы использовали nm, если действительно все, что вам нужно, это просматривать таблицы символов или подобные задачи, и вы заботитесь о переносимости вашего скрипта. Для некоторых других задач, таких как просмотр отладочной информации файла, objdump может быть более подходящим.