Mac OS X:估算代码的最佳方法是什么?程序的静态数据大小?

时间:2008-08-30 00:09:39

标签: macos mach-o

我希望能够估算出多少代码和数量。静态数据由我的C ++程序使用?

有没有办法通过查看可执行文件或目标文件来找到它?或者也许我可以在运行时做些什么?

otool会帮忙吗?

2 个答案:

答案 0 :(得分:8)

  • “size”是传统工具,适用于所有unix风格。
  • “otool”有更精细的谷物控制,并有很多选择。

$ size python
__TEXT  __DATA  __OBJC  others  dec     hex
860160  159744  0       2453504 3473408 350000

答案 1 :(得分:2)

我认为otool可以提供帮助。具体来说,“otool -s {segment} {section}”应打印出详细信息。我不确定你是否可以在不指定部分的情况下获得有关__DATA或__TEXT的信息。也许这些尺寸在马赫标题中报告:“otool -h”?

otool -s  __DATA __data MyApp.bundle/Contents/MacOS/MyApp
otool -s __TEXT __text MyApp.bundle/Contents/MacOS/MyApp

无论如何,Apple会在此处记录每个部分复制到每个部分的内容:Apple's mach-o format documentation