我有Windows應用程序生成使用Visual C++。它正在構建和運行在32位窗口env。現在我需要確保它在Windows Vista/7 64位環境下工作。我需要考慮這個移植過程的所有事情?從32位移植到64位
3
A
回答
7
那不是從32位移植到64,這只是運行在64位機器上的32位代碼,以確保它仍然有效。
要做到這一點的方法就是測試64位機器上的所有功能,就像每次發佈新版本時一樣,對吧? :-)
如果你真的想移植它(即編譯成一個64位可執行文件),第一步就是試試它。您可能會發現它的工作原理。我只會擔心移植問題,如果你嘗試它,然後出現問題。
然後,只有這樣,我才能去尋找原因。否則,這可能是浪費精力。
+0
太過真實。我唯一有意義的移植問題是假設指針是4個字節並加載內存映射文件。其他一切「只是起作用」。 – Goz 2010-01-20 08:41:42
1
0
一個需要注意的問題是,如果您要將簡單的舊數據(POD)存儲到文件中,或通過IPC或套接字將POD數據傳遞到其他應用程序等。 我們也有假定4字節長的代碼4個字節的指針。不用說,我們刪除了這些時代錯誤。
編譯器通常擅長髮現其他類型的錯誤,即長到int的轉換等。因此,它通常只是注意編譯器警告並相應地更改代碼的情況。
1
建立之前,您在x64模式下投影。
- 包括所有必要的64位DLL的需要爲您的項目
- 包括在鏈接庫文件 - 額外的依賴 - 配置屬性。
- 在C \ C++ - 預處理器 - 配置屬性中添加必要的預處理器。
- 啓用64級的警告 - 在編譯時,編譯器顯示警告
防爆
- 轉換數據類型從
int
到size_t
可能存在數據 - 存儲指針地址的損失
- 魔術沒有。
參考下面的鏈接,更多的錯誤和警告,而移植 http://www.viva64.com/en/a/0065/
相關問題
- 1. 代碼從32位移植到64位
- 2. 從32位移植到64位版本
- 3. 澄清:移植32到64位
- 4. 將asp.net從32位移植到64位webform應用程序
- 5. 將回調函數從32位移植到64位
- 6. 從32位機器移植opencv項目到64位機器
- 7. 32位到64位內聯彙編移植
- 8. 將32位OSX應用程序移植到64位
- 9. 移植32位到64位printf相關錯誤
- 10. 移植C編寫的32位源代碼到64位
- 11. 從32位到64位
- 12. Fortran:32位/ 64位性能可移植性
- 13. 32位和64位所有Windows平臺上的可移植性
- 14. 從32位變爲64位
- 15. Linux 64位移植問題
- 16. Windows 64位移植問題
- 17. 從32位到64位將在裝配
- 18. 移植32位到在窗口7
- 19. 將32位程序移植到64位版本的指導原則
- 20. 將應用從32位移動到64位
- 21. 從Windows 32位移動到Linux 64位,base_convert()問題
- 22. C++ Visual Studio 2008,將項目從64位移動到32位
- 23. 從Ubuntu 14.04 32位遷移到Ubuntu 14.04 64位
- 24. 遷移從32位[Delphi的7]到64位
- 25. 將PHP網站從32位RedHat遷移到64位
- 26. 從32位xp移動到64位Win7 - 線程影響
- 27. Excel插件錯誤從WindowsXP 32位移到Windows7 64位
- 28. 從32位移動到64位後PyQtGraph不工作
- 29. XOR高32位,低32位,64位數
- 30. MySQL 32位或64位 - Apache 32位Windows 64位?
你有將它移植到64位的還是你必須確保它適用於64位操作系統? – 2010-01-20 08:13:02
@Nikola,準確地說,我需要確保它可以在64位操作系統上運行。 – Unicorn 2010-01-20 08:52:50