Mac OS X: What is the best way to estimate the code & static data size of program?

StackOverflow https://stackoverflow.com/questions/35491

  •  09-06-2019
  •  | 
  •  

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?

Was it helpful?

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
scroll top