Mac OS X: What is the best way to estimate the code & static data size of program?
Question
I want to be able to get an estimate of how much code & static data is used by my C++ program?
Is there a way to find this out by looking at the executable or object files? Or perhaps something I can do at runtime?
Will otool help?
Solution
- "size" is the traditional tool and works on all unix flavors.
- "otool" has a bit finer grain control and has a lot of options.
.
$ size python
__TEXT __DATA __OBJC others dec hex
860160 159744 0 2453504 3473408 350000
OTHER TIPS
I think otool can help. Specifically, "otool -s {segment} {section}" should print out the details. I'm not sure if you can get information about __DATA or __TEXT without specifying a section. Maybe those sizes are reported in the mach header: "otool -h"?
otool -s __DATA __data MyApp.bundle/Contents/MacOS/MyApp
otool -s __TEXT __text MyApp.bundle/Contents/MacOS/MyApp
Anyway, Apple documents what gets copied into each section per-segment here: Apple's mach-o format documentation
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow