맥 OS X:프로그램의 코드 및 정적 데이터 크기를 추정하는 가장 좋은 방법은 무엇입니까?
문제
내 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 형식 문서
제휴하지 않습니다 StackOverflow