Определение архитектуры процессора статической библиотеки (LIB) в Windows
Я только что построил libpng на 64-битной машине Windows, используя VS2008. Он создает файл libpng.lib
в каталоге \projects\visualc71\Win32_Lib_Release (в качестве конфигурации используется "LIB Release" ).
Я использовал dumpbin
для проверки этого файла LIB:
C:\Temp\libpng-1.4.3>dumpbin projects\visualc71\Win32_LIB_Release\libpng.lib
Microsoft (R) COFF/PE Dumper Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file projects\visualc71\Win32_LIB_Release\libpng.lib
File Type: LIBRARY
Summary
8E4 .debug$S
DF2 .drectve
2BCD .rdata
21165 .text
C:\Temp\libpng-1.4.3>
Однако он не показывает архитектуру файла LIB. Как узнать, создан ли данный файл LIB для 32-разрядной или 64-разрядной архитектуры?
Ответы
Ответ 1
Использовать dumpbin/headers
Тип машины - это почти первая строка, которую вы получите.
Это будет 14c для x86 и 8664 для x64
n: > dumpbin lib642.lib/headers
Версия для кумпера COFF/PE от Microsoft (R)
10.00.30319.01 Авторское право (C) Корпорация Microsoft. Все права защищены.
Дамп файла lib642.lib
Тип файла: LIBRARY
ЗНАЧЕНИЯ ФАЙЛОВ 8664 (x64
Или
n: > dumpbin Lib32.lib/headers
Версия для кумпера COFF/PE от Microsoft (R)
10.00.30319.01 Авторское право (C) Корпорация Microsoft. Все права защищены.
Дамп файла Lib32.lib
Тип файла: LIBRARY
ЗНАЧЕНИЯ ФАЙЛОВ 14C машина (x86)