Windows

如何確定應用程序在 Windows 上是 64 位還是 32 位?

  • July 22, 2010

這無疑是一個重複的問題,但我的搜尋技巧讓我失望了。

如何確定應用程序在 Windows 上是 64 位還是 32 位?

理想情況下,我希望能夠在 64 位 Windows XP 和 64 位 Windows 7 上執行此操作。

謝謝!

編輯:感謝您的回复。當應用程序未執行時,有沒有辦法可以做到這一點?例如,在 Linux 上,我們有“readelf”——一個用於檢查二進製文件的命令行工具。Windows上有類似的工具嗎?

在 x64 平台上,在 Windows 任務管理器中,32 位應用程序的名稱後面會附加“*32”。所以:

firefox.exe *32

devenv.exe *32

svchost.exe

意味著 Firefox 和 Visual Studio 都是 32 位應用程序,而 Windows Services Host 是 64 位應用程序。

在 x86 平台上,這很簡單:64 位應用程序無法啟動。


為了回复您的上次編輯,我認為 Windows 附帶的工具不會檢測執行檔是 x64 還是 x86。也許第三方工具可以做到(反編譯器?資源提取器?)。

如果你是開發者,也可以考慮做這樣的工具或者使用 Visual Studio corflags。有關更多詳細資訊,請參閱StackOverflow 上的答案。

引用自:https://serverfault.com/questions/162284