Есть статическая библиотека, есть ли простой способ узнать, для 32-битной или 64-битной? - PullRequest
55 голосов
/ 16 мая 2011

Существует ли какой-либо инструмент, который может напрямую проверять, создана ли библиотека для 32 или 64 бит?

Ответы [ 4 ]

52 голосов
/ 27 мая 2014

Запустите командную строку visual studio, чтобы ваш путь мог найти dumpbin.exe

Канал для findstr, позволяющий сэкономить на большом значении в каждом разделе, и при желании вы можете использовать подстановочный знак для анализа папки библиотек.

dumpbin /headers *.lib | findstr machine

Пример того, что вы ищете;

8664 machine (x64)
49 голосов
/ 16 мая 2011

Вы можете использовать утилиту dumpbin с опцией /headers

Возвращает, была ли библиотека построена для 32- или 64-битной архитектуры.

Проверьте здесь для деталей.

Пример использования:

c:\>dumpbin libXYZ.lib /headers
0 голосов
/ 21 февраля 2017

В Visual Studio мы можем узнать, является ли Lib / dll 32 или 64-битным с Coreflags.exe. Этот инструмент автоматически устанавливается вместе с Visual Studio.мы можем запустить эту команду из командной строки, которая может быть запущена как

 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\CorFlags.exe whatever_Lib_with_path

Эта команда вернет вам, является ли этот файл управляемым или неуправляемым.Если его удалось , то он может дать информацию о том, что это 32/64 бит.

0 голосов
/ 16 мая 2011

Я не пробовал это, но вы также можете использовать file.exe, Unix file эквивалент для Windows.Вы можете скачать бинарный файл (и исходный код) здесь здесь или версию GNU здесь

...