Maison >développement back-end >C++ >Comment puis-je déterminer l'architecture (x86 ou x64) d'une DLL native à l'aide du code managé ?
Détermination de l'architecture d'une DLL native en code managé
Pour déterminer l'architecture (x64 ou x86) d'une DLL native, vous pouvez utilisez l’en-tête PE. Ces informations sont essentielles pour que le chargeur du système d'exploitation exécute correctement la DLL.
Une option pour extraire ces données consiste à utiliser l'utilitaire DUMPBIN. Utilisez l'indicateur /headers ou /all, et le premier en-tête de fichier répertorié fournira les informations sur l'architecture. Voici un exemple :
DLL 64 bits :
dumpbin /headers cv210.dll Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file cv210.dll PE signature found File Type: DLL FILE HEADER VALUES 8664 machine (x64) 6 number of sections 4BBAB813 time date stamp Tue Apr 06 12:26:59 2010 0 file pointer to symbol table 0 number of symbols F0 size of optional header 2022 characteristics Executable Application can handle large (>2GB) addresses DLL
DLL 32 bits :
dumpbin /headers acrdlg.dll Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file acrdlg.dll PE signature found File Type: DLL FILE HEADER VALUES 14C machine (x86) 5 number of sections 467AFDD2 time date stamp Fri Jun 22 06:38:10 2007 0 file pointer to symbol table 0 number of symbols E0 size of optional header 2306 characteristics Executable Line numbers stripped 32 bit word machine Debug information stripped DLL
Pour simplifier le processus, utilisez find comme suit :
dumpbin /headers cv210.dll |find "machine" 8664 machine (x64)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!