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?
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top