Significato otool “caps” campo
Domanda
Quando eseguo otool -favh some/library.so
ci sono i seguenti campi:
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 12 1552 NOUNDEFS DYLDLINK TWOLEVEL
- Qual è il significato della colonna "tappi"?
- Può la colonna di tappi di essere diversi causa che collega fallimenti?
Soluzione
Buona domanda. Non documentato da nessuna parte, a quanto pare. Grazie a open-source, però, la risposta è stata disponibile nel codice sorgente per otools, in modo da poter guardare lì se avete bisogno di ulteriori informazioni.
Il campo rappresenta i bit di capacità della CPU (cioè cpusubtype & CPU_SUBTYPE_MASK
). Così è davvero un sottoinsieme del campo cpusubtype, per far sì che le informazioni più facilmente disponibili, suppongo. E 'qualcosa che l'otools programmatore (s) messi in, e non di una parte dell'intestazione Mach-O.
Può la colonna di tappi essere diverso causare collega fallimenti?
Non sono sicuro se ho qui la tua domanda, che collega che cosa esattamente? Avere due librerie compilate per diversi processori (quindi possibilmente con diversi campi "caps") e cercando di collegarli tra loro potrebbe essere un problema, ovviamente. Sarei più preoccupato con il campo "cputype" a tal riguardo, però. E probabilmente vi darà un suggerimento, se si collega il codice x86 con il codice di ARM (più che il campo "tappi", direi).
In generale, non vorrei concentrarmi troppo su un campo che nessuno si preoccupa di parlare a tutta la documentazione, a meno che la vostra situazione particolare richiede.