从32位移植到64位

时间:2010-01-20 08:00:16

标签: c++ visual-c++ 64-bit

我使用Visual C ++构建了Windows应用程序。它正在构建并运行在32位窗口环境中。现在我需要确保它适用于Windows Vista / 7 64位环境。我需要考虑这个移植过程的所有事情吗?

4 个答案:

答案 0 :(得分:7)

这不是从32位移植到64位,只是在64位机器上运行32位代码以确保它仍能正常工作。

这样做的方法就是测试64位计算机上的所有功能,就像每次发布新版本时一样,对吗? : - )

如果你真的想要移植它(即将它编译成64位可执行文件),第一步就是尝试它。您可能会发现它按原样运行。如果你尝试的话我只会担心移植问题然后会出现问题。

然后,只有这样,我才会去寻找原因。否则可能会浪费精力。

答案 1 :(得分:1)

答案 2 :(得分:1)

在以x64模式构建项目之前。

  1. 包含项目所需的所有64位dll
  2. 在链接器中包含库文件 - 其他依赖项 - 配置属性。
  3. 在C \ C ++中添加必要的预处理器 - 预处理器 - 配置属性。
  4. 启用64位警告 - 编译时编译器显示警告
  5. 实施例

    1. 将数据类型从int转换为size_t可能会丢失数据
    2. 存储指针地址
    3. 魔术号
    4. 请参阅以下链接,了解有关移植时错误和警告的更多信息 http://www.viva64.com/en/a/0065/

答案 3 :(得分:0)

如果您将普通旧数据(POD)存储到文件中或通过IPC或套接字等将POD数据传递到其他应用程序,请注意。 我们还有代码假设4字节长,并假设4字节指针。不用说我们删除了这些时代错误。

编译器通常善于发现其他类型的错误,即长到转换等等。因此,通常只是注意编译器警告并相应地更改代码。