这无疑是一个重复的问题,但我的搜索技巧却让我失望了。
如何确定 Windows 上的应用程序是 64 位还是 32 位?
理想情况下,我希望能够在 64 位 Windows XP 和 64 位 Windows 7 上执行此操作。
谢谢!
编辑:感谢您的回复。当应用程序未运行时,我有什么办法可以做到这一点?例如,在 Linux 上,我们有“readelf”——一个用于检查二进制文件的命令行实用程序。Windows 上有类似的工具吗?
答案1
在 x64 平台上,在 Windows 任务管理器中,32 位应用程序的名称后面会附加“*32”。因此:
火狐浏览器.exe *32
devenv.exe *32
svchost.exe
意味着 Firefox 和 Visual Studio 都是 32 位应用程序,而 Windows Services Host 是 64 位应用程序。
在 x86 平台上,这很容易:64 位应用程序无法启动。
回复您上次的编辑,我认为 Windows 中没有附带可以检测可执行文件是 x64 还是 x86 的工具。也许第三方工具可以做到这一点(反编译器?资源提取器?)。
如果你是开发者的话,也可以考虑做这样的工具或者使用Visual Studio corflags
。参见StackOverflow 上的一个答案更多细节。
答案2
启动任务管理器并查看进程选项卡