2010-04-21 3 views
9

Я компилирую программу на своем 64-битном компьютере, но я не уверен, что она производит 32-разрядный или 64-разрядный вывод. Как проверить, является ли файл 32-битный или 64-битный в Windows?Проверка наличия файла 32 бит или 64 бит - на Windows

+0

Linux, Windows или ??? Solaris уже все 64 бит. – kmarsh

+0

Извините - windows .. Да, это было очень важно .. – stiank81

+1

Для будущих искателей ответов это расширение Windows Explorer позволяет просматривать информацию о архитектуре 32/64 бит внутри вашего файлового менеджера без использования внешнего инструмента: http: //sanje2v.wordpress .com/2013/12/10/writing-property-handler-for-windows-explorermanta-property-extension /. Также поддерживает файлы DLL, LIB, OBJ, O и A. – Sanjeev

ответ

8

Вы можете использовать GNUfile для окон.
Вы можете запустить приложение через PEID Наконец (и preferred- меньше места для ошибок) С либо Visual Studio C++ (по крайней мере, экспресс-выпуск минимум) или Platform SDK установки вы можете использовать DUMPBIN/заголовки, чтобы посмотреть на значения заголовков PE ,

Первое значение в заголовке файла говорит вам архитектуру: либо 0x14C для x86 или x64 0x8664 для

+1

Прекрасно работает! Не надо было запускать его через PEID и т. Д. Отправляйся с Сайгвином. Работает отлично. И он не говорит 0x14C/0x86664, но PE32 для x86 и PE32 + для x64. – stiank81

7

Просто запустите его и посмотрите вкладку «Процессы» в диспетчере задач Windows. Если после имени процесса есть суффикс * 32, это 32-разрядный, в противном случае это 64-разрядный (если вы используете 64-разрядную ОС).

+2

Ну да, это сработает, но не совсем разумно просто запустить программу, чтобы узнать, 32 или 64 бит. Кроме того, у вас может не быть 64-битной машины, чтобы сделать это. – kaerast

+1

, если у вас есть только 32-битная машина, тогда она не будет работать, если это будет 64-битное приложение! – JamesRyan

2

Вы можете запустить команду «файл» из linux в среде cygwin для тестирования.

Вы также можете поместить некоторые отладочные операторы типа 'print sizeof (int)' (схематически) для проверки.

+0

Звучит потрясающе. Я запускаю Cygwin, но когда я пытаюсь использовать «файл», он говорит «команда не найдена». Действительно ли это доступно на Cygwin? Если так, я думаю, я, должно быть, забыл установить какой-то пакет ..? – stiank81

+0

См. Http://cygwin.com/faq/faq.setup.html#faq.setup.what-packages –

1

Вы можете использовать EXE Explorer по MiTeC, небольшой бесплатный инструмент. Он также отображает многие другие свойства бинарного файла, который он проверяет.

У меня был тот же вопрос, что и оригинальный плакат, и EXE Explorer работает для меня довольно хорошо.

+0

Это, похоже, работает только с файлами exe. – Pietro

Смежные вопросы