نظام التشغيل ماك العاشر:ما هي أفضل طريقة لتقدير حجم الكود والبيانات الثابتة للبرنامج؟
سؤال
أريد أن أكون قادرًا على الحصول على تقدير لمقدار التعليمات البرمجية والبيانات الثابتة التي يستخدمها برنامج C++ الخاص بي؟
هل هناك طريقة لمعرفة ذلك من خلال النظر في الملفات القابلة للتنفيذ أو الملفات الكائنية؟أو ربما شيء يمكنني القيام به في وقت التشغيل؟
هل ستساعد أداة otool؟
المحلول
- "الحجم" هو الأداة التقليدية ويعمل على جميع نكهات يونكس.
- يتمتع "otool" بتحكم أدق في الحبوب ولديه الكثير من الخيارات.
.
$ size python
__TEXT __DATA __OBJC others dec hex
860160 159744 0 2453504 3473408 350000
نصائح أخرى
أعتقد أن otool يمكن أن يساعد.على وجه التحديد، يجب أن يقوم "otool -s {segment} {section}" بطباعة التفاصيل.لست متأكدًا مما إذا كان بإمكانك الحصول على معلومات حول __DATA أو __TEXT دون تحديد قسم.ربما تم الإبلاغ عن هذه الأحجام في رأس mach:"أوتول -ح"؟
otool -s __DATA __data MyApp.bundle/Contents/MacOS/MyApp
otool -s __TEXT __text MyApp.bundle/Contents/MacOS/MyApp
على أية حال، تقوم Apple بتوثيق ما يتم نسخه في كل قسم لكل مقطع هنا: وثائق تنسيق Mac-O من Apple
لا تنتمي إلى StackOverflow