Mac OS X:Qual é a melhor maneira de estimar o código e o tamanho dos dados estáticos do programa?

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

  •  09-06-2019
  •  | 
  •  

Pergunta

Quero obter uma estimativa de quanto código e dados estáticos são usados ​​pelo meu programa C++?

Existe uma maneira de descobrir isso observando os arquivos executáveis ​​ou objetos?Ou talvez algo que eu possa fazer em tempo de execução?

Otool ajudará?

Foi útil?

Solução

  • "size" é a ferramenta tradicional e funciona em todos os sabores unix.
  • "otool" tem um controle de granulação um pouco mais preciso e muitas opções.

.

$ size python
__TEXT  __DATA  __OBJC  others  dec     hex
860160  159744  0       2453504 3473408 350000

Outras dicas

Acho que otool pode ajudar.Especificamente, "otool -s {segment} {section}" deve imprimir os detalhes.Não tenho certeza se você pode obter informações sobre __DATA ou __TEXT sem especificar uma seção.Talvez esses tamanhos sejam relatados no cabeçalho mach:"otool-h"?

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

De qualquer forma, a Apple documenta o que é copiado em cada seção por segmento aqui: Documentação do formato mach-o da Apple

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top