代码之家  ›  专栏  ›  技术社区  ›  lfaraone

将64位和32位版本的应用程序滚动到同一个二进制文件中?

  •  5
  • lfaraone  · 技术社区  · 15 年前

    我们在64位和32位平台上部署了一个应用程序。有没有办法把两个编译版本的代码放在同一个二进制文件中,一个苹果和下一个 fat binaries ?

    理想情况下,我们可以发送一个.exe来决定执行哪个版本的代码。我们的目标是Windows XP和更高版本。

    3 回复  |  直到 15 年前
        1
  •  6
  •   BobbyShaftoe    15 年前

    一种方法可能是提供一个引导应用程序,该应用程序确定体系结构并选择要运行的适当可执行文件。所以,基本上,应用程序的快捷方式或者你所拥有的功能只是启动引导程序,然后启动相应的应用程序。如果您的应用程序是一个Windows服务,这可能会有点棘手。

        2
  •  8
  •   Andrew    15 年前

    Process Explorer(以前是SysInternals,现在归Microsoft所有)执行此操作。它是一个32位应用程序,用于检测64位环境,写出另一个二进制文件并在退出时将其删除。 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

        3
  •  0
  •   sharptooth    15 年前

    最简单的方法是由安装程序来处理这个问题——它将有每个二进制文件的两个版本,并根据目标机器上的系统位数复制必要的版本。

    推荐文章