Ho un file .a da cui voglio ottenere informazioni sull'architettura. L'esecuzione dei risultati file myFile.a
in file.a: current ar archive
. Come posso ottenere maggiori informazioni su quale architettura il file contiene?Come posso ottenere l'architettura di un file '.a'?
risposta
Si può anche saltare il comando ar
e utilizzare readelf, via qualcosa di simile :
readelf -h <archive>.a | grep 'Class\|File\|Machine'
[00:32:15] /usr/lib $ readelf -h libxslt.a | grep 'Class\|File\|Machine'
File: libxslt.a(attrvt.o)
Class: ELF32
Machine: Intel 80386
File: libxslt.a(xslt.o)
Class: ELF32
Machine: Intel 80386
... #Trimmed this, it goes on a bit
File: libxslt.a(transform.o)
Class: ELF32
Machine: Intel 80386
File: libxslt.a(security.o)
Class: ELF32
Machine: Intel 80386
[00:32:24] /usr/lib $
Nel caso sia pertinente, ecco le altre informazioni che è possibile ottenere da readelf -h
. Ho appena rifilato quanto sopra con grep
, ovviamente:
File: libxslt.a(security.o)
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 2548 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 16
Section header string table index: 13
che l'uscita è per uno dei file oggetto nel libxslt.a
, ma dà le stesse informazioni per ogni file.
estrarre i file oggetto dall'archivio e li ispezionare con il file (1), nm (1), ecc
objdump
è un'altra opzione:
objdump -a file.a|grep 'file format'
Usa
lipo -info libExample.a
Sarà Chi l'architettura è costruire per. Altre funzioni come otool o file non danno la risposta esatta e talvolta a verbose per ottenere le informazioni corrette.
lipo sembra essere specifico per OS X. – MetalGodwin
Suggerirei di utilizzare objdump anziché lipo. objdump fornisce informazioni dettagliate rispetto a lipo.
- 1. Come posso ottenere il nome di un file in Dart?
- 2. Come posso ottenere la profondità di un file jpg?
- 3. Come posso ottenere un elenco di file modificati in svn?
- 4. Come posso ottenere un CGImageRef da un file?
- 5. Dove posso ottenere un file YUV grezzo?
- 6. Come posso ottenere tutte le immagini da un file qrc?
- 7. Posso ottenere la modalità di accesso di un `FILE *`?
- 8. Come posso ottenere la versione da un file gemspec?
- 9. come posso ottenere l'icona del file?
- 10. Come posso ottenere TortoiseSVN per ottenere un elenco di file che non si trovano nel repository?
- 11. Come ottenere un puntatore FILE da un descrittore di file?
- 12. Come ottenere un flusso FILE * da un descrittore di file?
- 13. Codeigniter: come ottenere un nome file di un file
- 14. Posso generare un file HPROF a piacimento?
- 15. Come ottenere l'url di un file .nupkg?
- 16. Come ottenere un nome di file temporaneo?
- 17. Come posso dire a iOS di scaricare un file da iCloud Drive e ottenere un feedback di avanzamento
- 18. Come posso ottenere il tempo di durata del file html5
- 19. Come posso ottenere un nome file da un descrittore di file all'interno di un modulo del kernel?
- 20. Come posso ottenere il tipo MIME di un InputStream di un file che viene caricato?
- 21. Da un file incluso, come posso ottenere il nome file del file facendo il compreso?
- 22. come ottenere una variabile da un file a un altro file in node.js
- 23. Come posso ottenere un equivalente di/dev/uno in Linux
- 24. Come posso ottenere ConnectionString nome per il file di configurazione
- 25. Come posso ottenere il caricamento massimo di file in byte?
- 26. Come ottenere il tipo MIME di file caricato a Jersey
- 27. Come posso ottenere i byte di un GetObjectResponse da S3?
- 28. In PowerShell, come posso ottenere un memorandtream con codifica Base64 di un file zip locale?
- 29. Come posso ottenere un flusso parallelo di Files.walk?
- 30. Come posso ottenere un percorso UNC per un file a cui si accede tramite un'unità di rete?
Raccomanda di aggiungere 'Macchina' all'elenco qui. Ciò include informazioni sulla CPU specifica per cui sono fatti i file oggetto, piuttosto che sul fatto che sia 32 o 64 bit o altro. – cHao
@cHao: Sì, ci ho pensato anche io. Sto facendo un'altra modifica (e ho aggiunto l'intero output di 'readelf -h'). – eldarerathis
Grazie! Questo e 'esattamente quello che stavo cercando. – Mike