64-bit - 32 位和 64 位的单个可执行文件(无 WOW64)

标签 64-bit 32bit-64bit portable-executable

我正在编写一个应该在 16\32\64 位系统上运行的小型实用程序。 我的旧实用程序通过将 16 位版本压缩到 32 位并在 visual studio 2008 ( /STUB -MS-DOS Stub File Name ) 中应用 /stub 开关,在 32 位和 16 位上运行。

我正在寻找一种方法来对我的 64 位可执行文件执行相同的操作。 目标 64 位系统是 Win PE 64 位,并且没有安装 WOW64。

这可能吗?

最佳答案

Windows 可执行文件的 DOS stub 使用 MZ 部分,而 32 位和 64 位可执行文件都使用 PE 部分。这允许 DOS stub 存在于任一 Windows 可执行文件中,但在尝试组合 32 位和 64 位可执行文件时会导致冲突。

关于64-bit - 32 位和 64 位的单个可执行文件(无 WOW64),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171335/

相关文章:

qt - 如何在 64 位 Ubuntu 上构建 32 位 Qt5 应用程序

node.js - 在本地安装 Node Grunt

java - 64 位 JVM 中的 int 数据类型。 "inefficient"比 long 多吗?

c++ - 如何使用 C++ 编辑可执行文件中的资源?

python - 如何使用Python获取PE文件的指令?

php - PHP 5.2 和 PHP 5.3 中大整数的按位运算

windows - 确定 64 位与 32 位 Windows

windows - 适用于 Windows 64 位的 LVITEM

linux - 为什么 dd 命令将虚拟文件大小限制为 2GB?

c# - 在 32 位和 64 位 C# 世界中使用 System.Data.SQLite 的选项