2010-03-12 5 views
0

Comment vérifier la compatibilité d'une DLL pour travailler sur 32 bits/64 bits? Y at-il un outil disponible pour vérifier cela? J'ai vu quelque part que nous pouvons utiliser coflags, mais ne sera pas capable de lire la DLL native, il semble. Quelque part j'ai lu quelques autres choses comme IMAGE_FILE_HEADER. Comment puis-je faire cette vérification.Vérifiez la compatibilité de la DLL pour travailler sur 32/64 bits

+0

Quelle est la dll écrite? – slugster

Répondre

0

Vous souhaitez lire l'en-tête PE, puis lire IMAGE_OPTIONAL_HEADER et lire le champ nommé "Magic". Le champ magique aura les valeurs suivantes:

  • 0x010b 32 bits PE Fichier
  • 0x020b 64 bits PE Fichier
  • 0x0107 ROM fichier image (dans la pratique il est rare de voir jamais cette valeur)

Plus de détails peuvent être trouvés dans .Net 2.0 IL Assembler, chapitre 4, qui décrit le format PE en détail.

Si vous voulez une DLL de lecteur de fichiers PE (avec source) et une interface graphique qui utilise la DLL (avec la source) jetez un oeil à PE File Format DLL. Son open source avec n'importe quel encombrement GPL. Utilisez le logiciel comme bon vous semble (prenez-le fermé si cela vous convient).