Windows开发:x86到x64的过渡

Ker*_*ido 4 c++ windows 64-bit x86

是否有任何指导如何尽可能少地转移到x64?

假设,我有一个用C++编写的windows native x86可执行文件.EXE本身工作正常,但也有由前两个EXE和外部x64进程托管的DLL.使用这样的设置,我需要重写哪些部分?

我希望得到更一般的答案,或者可能是参考文献的链接,其中给出了一些理论背景.谢谢

the*_*ill 5

一般来说,我推荐的方法是对它进行单元测试.构建测试,以便它们全部传递32位实现,然后开始构建和测试64位.值得特别注意您执行以下任何操作的代码的任何部分:

  • 通过网络的流数据(特别是类型,如size_t现在将是不同的大小.通过此代码去改变之类的东西size_t,并long以明确的32或64位的typedef)
  • 将二进制数据加载/保存到文件(ditto re:size_t/long)
  • 使用硬编码值(例如0xFFFFFFFF)进行比特操作

除了测试尽可能多的代码路径之外,确实没有快捷方式.这项工作的简单程度取决于编写代码的可移植性.你可能很幸运......