2011-01-18 1 views
0

Au démarrage de l'application, je dois obtenir la liste des bibliothèques qui y sont liées. Malheureusement, je ne peux trouver aucun exemple dans le cacao comment puis-je le faire à partir du code. Quelqu'un peut-il m'aider avec ça?Obtenir la liste des bibliothèques liées sous forme de code cacao

+1

Pourquoi diable? –

+0

Certains d'entre eux provoque un blocage de l'application. Donc, j'ai besoin de changer le comportement de l'application dépend des bibliothèques liées. – tanlan

Répondre

1

Donc, il y a probablement une meilleure façon que cela (ce qui est tout à fait non testé code dans-ce-champ de texte écrit), mais je pense que cela ferait l'affaire:

uint32_t imageCount = _dyld_image_count(); 
char **names = calloc(sizeof(char *), imageCount); 
int32_t *versions = calloc(sizeof(int32_t), imageCount); 
for (uint32_t idx = 0; idx < imageCount; idx++) { 
    names[idx] = _dyld_get_image_name(idx); 
    versions[idx] = NSVersionOfLinkTimeLibrary(names[idx]); 
} 

Si je Je comprends correctement dyld.h, cela devrait vous obtenir une liste de toutes les images mach-o actuellement chargés et leurs versions link-time. Toute image mach-o avec une version de -1 n'est pas liée à l'exécutable principal.

+0

Merci beaucoup. Je vais essayer. – tanlan

+0

Cela fonctionne correctement. Je vous remercie. – tanlan

Questions connexes