Проверьте совместимость DLL для работы на 32/64 бит - PullRequest
0 голосов
/ 12 марта 2010

Как проверить совместимость DLL для работы на 32 бит / 64 бит? есть ли инструмент, чтобы проверить это? Я видел где-то, что мы можем использовать coflags, но, кажется, не смогу читать нативный dll. Где-то я читал несколько других вещей, таких как IMAGE_FILE_HEADER . Как я могу сделать эту проверку.

1 Ответ

0 голосов
/ 12 марта 2010

Вы хотите прочитать заголовок PE, а затем прочитать IMAGE_OPTIONAL_HEADER и прочитать поле с именем «Magic». Волшебное поле будет иметь следующие значения:

  • 0x010b 32-битный PE-файл
  • 0x020b 64-битный PE-файл
  • 0x0107 Файл образа ПЗУ (на практике вы вряд ли когда-либо увидите это значение)

Более подробную информацию можно найти в .Net 2.0 IL Assembler, глава 4, в которой подробно описывается формат PE.

Если вам нужна библиотека чтения файлов PE (с исходным кодом) и графический интерфейс пользователя, который использует DLL (с ​​источником), взгляните на Файл формата файлов PE . Его открытый исходный код с любым обременением GPL. Используйте программное обеспечение по своему усмотрению (закройте его, если это соответствует вашим потребностям).

...