Pregunta

Cuando corro otool -favh some/library.so existen los siguientes campos:

Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64  X86_64        ALL LIB64     EXECUTE    12       1552   NOUNDEFS DYLDLINK TWOLEVEL
  • ¿Cuál es el significado de la columna de "tapas"?
  • Would la columna de la tapas de ser diferente causa que une fracasos?
¿Fue útil?

Solución

Buena pregunta. No documentado en cualquier lugar, lo que parece. Gracias al código abierto, sin embargo, la respuesta estaba disponible en el código fuente de otools, por lo que se puede ver allí si necesitas más información.

El campo representa los bits de capacidad de la CPU (es decir cpusubtype & CPU_SUBTYPE_MASK). Por lo que es realmente un subconjunto del campo cpusubtype, para hacer que la información más fácilmente disponible, supongo. Es algo que el programador otools (s) puesto en, y no una parte de la cabecera Mach-O.


Would la columna tapas ser diferente causar la vinculación de los fracasos?

No estoy seguro de si me da su pregunta aquí, la vinculación de qué es exactamente? Tener dos bibliotecas compiladas para diferentes procesadores (por lo tanto posiblemente con diferentes campos "caps") y tratando de vincularlos entre sí puede ser un problema, obviamente. Yo estaría más preocupado con el campo "cputype" en ese sentido, sin embargo. Es probablemente le dará un toque si establece un vínculo con el código x86 código ARM (más que el campo "tapas", supongo).

En general, yo no concentrarse demasiado en un campo que nadie le importa mencionar en ningún documento, a menos que su situación particular así lo exige.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top