对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform?
Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Command Prompt中的。使用方法如下,打开Developer Command Prompt,输入corflags命令,并且输入dll的详细路径,比如corflags C:TempOracle.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:appAdministratorproduct11.2.0client_1odp.netin4Oracle.DataAccess.dll