Mac OS X:Каков наилучший способ оценить размер кода и статических данных программы?
Вопрос
Я хочу иметь возможность получить оценку того, сколько кода и статических данных используется моей программой на C ++?
Есть ли способ выяснить это, просмотрев исполняемый файл или объектные файлы?Или, может быть, что-то, что я могу сделать во время выполнения?
Поможет ли otool?
Решение
- "size" является традиционным инструментом и работает на всех версиях unix.
- "otool" обладает немного более тонким контролем зернистости и имеет множество опций.
.
$ size python
__TEXT __DATA __OBJC others dec hex
860160 159744 0 2453504 3473408 350000
Другие советы
Я думаю, что otool может помочь. В частности, "otool -s {сегмент} {раздел}" следует распечатать детали. Я не уверен, что вы можете получить информацию о __DATA или __TEXT без указания раздела. Возможно, эти размеры указаны в заголовке mach: "otool -h"?
otool -s __DATA __data MyApp.bundle/Contents/MacOS/MyApp
otool -s __TEXT __text MyApp.bundle/Contents/MacOS/MyApp
В любом случае, Apple документирует, что копируется в каждый раздел для каждого сегмента здесь: Документация по формату машинного оборудования Apple
Не связан с StackOverflow