如何知道dll文件是面向32位系统还是面向64位系统的?
在发布dll时,可以选择编译为x86模式、x64模式以及Any Cpu模式等。那么对于已经发布的dll文件,怎么知道它是支持什么系统的呢?
方法一:Reflector(反编译)
对于.Net dll文件,用Reflector工具(dnSpy)可进行辨别:
AnyCpu(64位优先)就是该dll在编译时选择的目标系统。
方法二:CorFlags.exe工具
使用Vistual Studio.Net自带的corflags工具,先打开vs.net 命令窗口:
输入coreflags <assembly path>:
其中PE和32BIT的值可以看出该dll支持的系统位数:
anycpu: PE = PE32 and 32BIT = 0
x86: PE = PE32 and 32BIT = 1
x64: PE = PE32+ and 32BIT = 0
方法三:Dumpin.exe工具
通过Vs.net tools中所带的dumpin命令可以查看:
dumpbin /headers <assembly path>
查看machine相关属性可辨别其支持的系统位数。
该方法还可以查看非.Net编译的dll信息。
本文作者:Journey&Flower
本文链接:https://www.cnblogs.com/JourneyOfFlower/p/14663695.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步