我希望能够估计我的 C++ 程序使用了多少代码和静态数据?
有没有办法通过查看可执行文件或目标文件来找出这个问题?或者也许我可以在运行时做些什么?
otool 有帮助吗?
.
$ size python
__TEXT __DATA __OBJC others dec hex
860160 159744 0 2453504 3473408 350000
我认为 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