Мы распространяем в Linux статические библиотеки как в 64-битной, так и в 32-битной версиях. При устранении неполадок клиента я хотел бы, чтобы мой сценарий диагностической оболочки быстро устранял проблему, проверяя файл архива .a, чтобы определить, является ли он 32-разрядным или 64-разрядным. Методы, которые мне приходят в голову, менее чем элегантны:
извлеките член .o и задайте команду "file" (например, 32-битный ELF и т. д.)
start, включая фиктивный член, закодированный для указания, например, 32bit.o / 64bit.o, и используйте "ar -t" для проверки
Я пробовал "strings xyz.a | grep 32", но это не работает с версиями. Это не страшная проблема, но если вы знаете элегантное решение, я хотел бы знать.