Mac OS X:Quelle est la meilleure façon d’estimer la taille du code et des données statiques du programme ?
Question
Je souhaite pouvoir obtenir une estimation de la quantité de code et de données statiques utilisées par mon programme C++ ?
Existe-t-il un moyen de le découvrir en examinant les fichiers exécutables ou objets ?Ou peut-être quelque chose que je peux faire au moment de l'exécution ?
Est-ce qu'otool vous aidera ?
La solution
- "size" est l'outil traditionnel et fonctionne sur toutes les versions Unix.
- "otool" a un contrôle du grain un peu plus fin et propose de nombreuses options.
.
$ size python
__TEXT __DATA __OBJC others dec hex
860160 159744 0 2453504 3473408 350000
Autres conseils
Je pense qu'otool peut aider.Plus précisément, "otool -s {segment} {section}" devrait imprimer les détails.Je ne sais pas si vous pouvez obtenir des informations sur __DATA ou __TEXT sans spécifier de section.Peut-être que ces tailles sont indiquées dans l'en-tête mach :"otool -h" ?
otool -s __DATA __data MyApp.bundle/Contents/MacOS/MyApp
otool -s __TEXT __text MyApp.bundle/Contents/MacOS/MyApp
Quoi qu'il en soit, Apple documente ici ce qui est copié dans chaque section par segment : Documentation au format mach-o d'Apple