Signification de otool champ « casquettes »
Question
Quand je lance otool -favh some/library.so
il y a les champs suivants:
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 12 1552 NOUNDEFS DYLDLINK TWOLEVEL
- Quelle est la signification de la colonne "caps"?
- Est-ce que colonne de bouchons étant différents échecs liant cause?
La solution
Bonne question. Non documenté nulle part, il semble. Merci à open-source, cependant, la réponse était disponible dans le code source pour otools, afin que vous puissiez regarder là si vous avez besoin de plus amples informations.
Le champ représente les bits de capacité de la CPU (qui est cpusubtype & CPU_SUBTYPE_MASK
). Il est donc vraiment un sous-ensemble du champ de cpusubtype, de rendre ces informations plus facilement disponibles, je suppose. Il est quelque chose que le programmeur otools (s) mis en, et non une partie de l'en-tête de Mach-O.
Would la colonne caps être différent faire lier les échecs?
Je ne sais pas si je votre question ici, reliant quoi exactement? Avoir deux bibliothèques compilées pour processeurs différents (donc peut-être avec différents champs « caps ») et essayer de les relier entre eux pourrait être un problème, évidemment. Je serais plus préoccupé par le champ « cputype » à cet égard, bien que. Il vous donnera probablement un indice si vous liez code x86 avec le code ARM (plus que le champ « casquettes », je suppose).
En général, je ne serais pas trop se concentrer sur un champ que personne même soucis à mentionner dans les documents, à moins que votre situation particulière exige.