怎样判断一个exe可执行程序是32位的还是64位的
拿到一个exe格式的可执行应用程序,想知道它在32位的电脑上能不能正常使用。一般来说在64位的windows7下,打开任务管理器可以知道哪些程序是32位的哪些是64位的,但是因为自己的电脑是64位的windows 10,在任务管理器中有些任务即使是32位的,也不提示。
网上搜索了一番,发现资料很少。这里我总结了几种方法,分享给大家。
操作方法
- 01
首先,如果你使用的是64位的电脑,你可以尝试直接运行一下你的exe文件,然后打开任务管理器,一般来说进程信息后面标有32位(32bit)字样的都是32位的应用程序;而如果没有标记的,则不能判断是32位的还是64位的,只能说是64位程序的可能性更大。 如果你使用的是32位的电脑,则可以运行的程序一定是32位的;而不可以运行的程序可能是64位的,也可能是程序存在问题或系统存在问题导致不能运行。
- 02
可以看出上面的办法并不十分可靠。 所以我们可以通过更直接的办法来判断。 打开windows自带的“记事本”,并使用记事本直接打开你的exe文件。一定会出现一堆乱码。不要着急,只要看第二行即可,第二行开头不远处有PE两个字母,再后面两个空格后第三个字符就是标记了,如果是 字母L的话,就是 32位应用程序,如果是 d?就表示是 64位应用程序。 如图,分别是32位程序和64位程序的截图。
- 03
还有如果有更高级的文本编辑器,比如Notepad++或者我使用的NotePad2之类的,直接打开exe文件可以显示出“不可打印的字符”,我们看到第三行那个PE后面跟了两个NUL就是空字符的意思,后面的字符就是标记了,还是一样的, L表示 32位, d?表示 64位。
方法/步骤2
- 01
如果使用16进制编辑器打开你的exe文件的话,可以看到如图的效果,里面的hex code: 504500004C就表示是32位的,而hex code: 504500006486就表示是64_86,也就是64位的。