맥 OS X:프로그램의 코드 및 정적 데이터 크기를 추정하는 가장 좋은 방법은 무엇입니까?

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 -h"?

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

어쨌든 Apple은 세그먼트별로 각 섹션에 복사되는 내용을 다음과 같이 문서화합니다. Apple의 mach-o 형식 문서

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top