我需要檢測一個給定的.dll或.exe文件是否是32位或64位如何檢測一個給定的PE文件(EXE或DLL)是64位或32位
目前,我有隻有一個解決方案:從指定的文件中讀取PE Header並從那裏取出「機器」字段。
(規格:Microsoft Portable Executable and Common Object File Format Specification(.docx文件)在部分 「3.3 COFF文件頭(對象和圖像)」)
該字段可能需要最多約20的值。他們三人是:
IMAGE_FILE_MACHINE_I386 (== 32bit)
IMAGE_FILE_MACHINE_IA64 (== 64bit)
IMAGE_FILE_MACHINE_AMD64 (== 64bit)
我的問題:
1)是「機」,以位元映射正確的還是我錯過了什麼?還有其他警告嗎?
2)是否有更簡單的方法來檢測32/64位(可能某些特定領域的PE格式,我沒有注意到或某些特殊的系統功能)?
dup:http://stackoverflow.com/questions/971689/win32-api-to-tell-whether-a-given-binary-exe-or-dll-is-x86-x64-or-ia64/971715 #971715 – 2009-07-20 11:47:59
另一個問題是關於架構的問題,這個問題是關於字大小的問題。 – Draemon 2009-07-20 11:57:42