Wir vertreiben unter Linux eine statische Bibliothek sowohl in 64-Bit- als auch in 32-Bit-Versionen. Bei der Fehlerbehebung bei einem Kunden möchte ich, dass mein Diagnose-Shell-Skript das Problem schnell beseitigt, indem die .a-Archivdatei überprüft wird, um festzustellen, ob es sich um 32- oder 64-Bit handelt. Die Methoden, die mir einfallen, sind weniger als elegant:
Extrahieren Sie ein .o-Mitglied und fragen Sie den Befehl "file" (z. B. ELF 32-Bit usw.).
Beginnen Sie mit der Aufnahme eines Dummy-Elements, das codiert ist, um anzuzeigen, z. B. 32bit.o / 64bit.o, und verwenden Sie "ar-t", um dies zu überprüfen
Ich habe "Strings xyz.a | grep 32" ausprobiert, aber dies funktioniert nicht gut über Versionen. Kein Herzensbrecherproblem, aber wenn Sie eine elegante Lösung kennen, würde ich gerne wissen.