Informations sur une application
Bonjour,
Je cherche à récupérer l'architecture ainsi que le "format" (? 32 ou 64bits) d'une application (qui n'est pas la mienne). Cependant je ne vois pas comment faire.
Je dispose donc simplement du path de l'application
Merci d'avance,
Louka.
Je cherche à récupérer l'architecture ainsi que le "format" (? 32 ou 64bits) d'une application (qui n'est pas la mienne). Cependant je ne vois pas comment faire.
Je dispose donc simplement du path de l'application
Merci d'avance,
Louka.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il est réactualisé tous les combien, le RSS ?
PS : Pour plus d'infos Louka regarde aussi la page man de "arch" en plus de celle de "lipo", y'a la liste des types d'archis, etc)
C'est génial on a même la taille de l'Application ? Quoi que non, c'est seulement l'executable ça... il compte pas le poids des fichiers resources..
Et pour 32 et 64 bits c'est nfat_arch ? 2 (pour iTunes) signifiant 32 & 64bits ?
x86 64 bits -> x86_64
ppc 64 bits -> ppc64
Pour les tailles, c'est effectivement les tailles des exécutables...
En tout cas j'ai un problème pour certaines applications.
Si je prend ToolsX3 par exemple, voici ce que me retourne le terminal :
Bon soit, je met une petite pipe sur mon NSTask en standardError. ducoup on me retourne bien ça comme erreur au final, et je m'occupe de faire le trie des applications "bonnes" et "fausses"
Le problème est que, à cause de ça j'obtiens toujours :
Alors que je n'ai AUCUN NSDictionary et nul part je fais de setObject:forKey:...
Donc là je suis vraiment perdu.
sinon, c'est bizarre, pourquoi "/usr/bin/env" pour le LaunchPath ?
[code supprimé, car faux...]
[Edit] guillemets
et aussi :
et même :
(Note que je passe au peigne fin chaque applications - j'ai exclu les applications contenues dans le dossier System)
Il faut soit mettre des quotes, soit échapper les espaces en shell.
Merci
Edit : vala ça a l'air de marcher. Merci encore Schlum
Comment ça ?
Ben... C'est ce dont on parle depuis tout à l'heure... lipo...
En fait j'arrive pas à reproduire ce que tu as fait juste ne dessous de cette phrase
Ben c'est juste faire joujou avec les options de compilation de gcc...
"-m64" -> 64 bits
"-arch ..." -> choix de l'architecture
Et sur chacun de ces 4 essais, il a executé la commande lipo pour avoir les infos sur l'executable généré.
"lipo" lui a donc répondu en disant que, pour chacun de ces 4 executables, ce n'était pas un FAT file (donc c'est un binaire qui n'a qu'une architecture, pas comme une appli Universal Binary), et que le format des executables était "ppc" (PPC 32 bits), "i386" (Intel 32 bits), "ppc64" (PPC 64 bits) et "x86_64" (Intel 64 bits), respectivement.
Bien sûr sur certaines applis notamment les UB, lipo te dira que c'est une "FAT file" et te listera alors les 2 (ou plus) architectures qui le composent, comme "ppc" et "i386" par exemple.
A toi de traiter tous les cas.
J'utilise "lipo -info cheminDeLexecutable"
Au final, si une appli est par exemple PPC uniquement et 32-64 bits, le term me retourne :
...... architecture are : ppc ppc64
Donc en fait beaucoup plus simple à analyser xD
Merci encore à vous 2