Как найти размер статических выделений из двоичного файла? - PullRequest
6 голосов
/ 26 мая 2009

Можно ли определить общий объем памяти, выделенный для статических и глобальных переменных, из двоичного файла? Я ищу утилиту Linux, которая читает файл elf и выясняет, сколько памяти предварительно выделено для переменных.

Ответы [ 3 ]

12 голосов
/ 26 мая 2009

Утилита size сообщит об этом в разделе «данные».

> size ./my_program
2 голосов
/ 26 мая 2009

Да. Используйте ...

objdump -h progfile

, в котором будут перечислены "заголовки". Найдите заголовок .data и проверьте столбец размера.

2 голосов
/ 26 мая 2009

Вы можете использовать команду nm (или objdump, как предложено @sharth). Использование nm более «портативно» в том смысле, что оно доступно и в не-Linux системах Unix; он не намного более переносим, ​​потому что формат вывода не полностью стандартизирован (хотя он определяется POSIX, существует несколько распространенных вариантов формата вывода).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...