Mac OS X: Как лучше всего оценить размер кода и статических данных программы? - PullRequest
3 голосов
/ 30 августа 2008

Я хочу получить оценку того, сколько кода и статических данных используется моей программой на C ++?

Есть ли способ узнать это, посмотрев на исполняемые или объектные файлы? Или что-то, что я могу сделать во время выполнения?

Поможет ли otool?

Ответы [ 2 ]

8 голосов
/ 30 августа 2008
  • "size" - это традиционный инструмент, который работает на всех вкусах Unix.
  • «otool» имеет более тонкий контроль зерна и имеет много опций.

.

$ size python
__TEXT  __DATA  __OBJC  others  dec     hex
860160  159744  0       2453504 3473408 350000
2 голосов
/ 30 августа 2008

Я думаю, что 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 Mach-o

...