检测一个DLL文件是x64还是x86

对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform?

Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Command Prompt中的。使用方法如下,打开Developer Command Prompt,输入corflags命令,并且输入dll的详细路径,比如corflags C:\Temp\Oracle.DataAccess.dll,就能看到如下截图所示的结果。




这个结果是什么意思?其实,我们不需要弄清楚每个字段是什么意思。这里有一张结果对比表,只要我们根据结果,去表中对比,就能得出这个dll是什么平台的。


 

Any CPU PE32 with 32BIT = 0
x86 PE32 with 32BIT = 1
x64/Itanium (IA-64) PE32+ with 32BIT = 0


再看第一张截图,PE32+,32BIT=0,所以是64位的dll.

Oracle.DataAccess.dll 版本查看

corflags C:\app\Administrator\product\11.2.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll

 

posted @ 2017-03-03 09:59  nieweiking  阅读(766)  评论(0编辑  收藏  举报