Frage

Wenn ich laufen otool -favh some/library.so gibt es folgende Felder:

Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64  X86_64        ALL LIB64     EXECUTE    12       1552   NOUNDEFS DYLDLINK TWOLEVEL
  • Was ist die Bedeutung der "Caps" Spalte?
  • Kann die Kappen Spalte unterschiedlich Ursache Verknüpfung Defekt?
War es hilfreich?

Lösung

Gute Frage. Nicht überall dokumentiert, wie es scheint. Dank Open-Source, obwohl, war die Antwort für Otools im Quellcode zur Verfügung, so dass Sie es sehen können, wenn Sie mehr Informationen benötigen.

Das Feld stellt die Fähigkeit Bits der CPU (dh cpusubtype & CPU_SUBTYPE_MASK). So ist es wirklich eine Teilmenge des cpusubtype Feld, dass die Informationen leichter zugänglich zu machen, nehme ich an. Es ist etwas, der Otools Programmierer (n) setzte in, und nicht ein Teil der Mach-O-Header.


Würde der Kappen Spalte unterschiedlich sind verursachen Verknüpfung Defekt?

Nicht sicher, ob ich Ihre Frage hier, Verknüpfung, was genau? Mit zwei für verschiedene Prozessoren (also möglicherweise mit unterschiedlichen „Caps“ Feldern) zusammengestellt Bibliotheken und zu versuchen, sie miteinander zu verknüpfen könnte ein Problem sein, offensichtlich. Ich würde ich mehr mit dem „CPUTYPE“ Feld in dieser Hinsicht, though. Es wird Sie wahrscheinlich einen Hinweis geben, wenn Sie x86-Code mit ARM-Code verknüpfen (mehr als die „Caps“ Feld, ich würde vermuten).

Im Allgemeinen würde ich nicht konzentrieren viel auf einem Feld, dass niemand auch Sorgen in all Unterlagen zu erwähnen, es sei denn, Ihre Situation es verlangt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top