نظام التشغيل ماك العاشر:ما هي أفضل طريقة لتقدير حجم الكود والبيانات الثابتة للبرنامج؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

أريد أن أكون قادرًا على الحصول على تقدير لمقدار التعليمات البرمجية والبيانات الثابتة التي يستخدمها برنامج 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top