簡體   English   中英

C ++如何將x64bit應用程序轉換為x86

[英]C++ how to convert x64bit application to x86

關於x64和x86系統,我有幾個問題

我已經在qt 4.7中編寫了一個C ++應用程序,通常我將int用於整數等等。

因此,如果我想將此應用程序轉換為x64bit,該怎么辦?

我應該使用其他編譯器選項來構建它還是應該更改代碼中的內容

另一個問題,如果我下載一個開源應用程序並在Linux中構建它,它將是x64或x86架構, 這意味着如果我在x64bit Linux中構建該源代碼,我將獲得一個x64應用程序,如果我在x86bit Linux中構建該源代碼,我將獲得一個x64應用程序。獲取x86應用程序

構建的類型應取決於要構建的編譯器和體系結構。

也就是說,應該(應該)編寫代碼,以便支持具有不同位深度的構建。

例如,如果使用long聲明整數變量,則變量的大小將有所不同(取決於體系結構)。 如果改用std::int32_tstd::int64_t聲明它,則在體系結構之間切換時,大小將保持不變。

除位深度外,還應確保任何依賴於字節序的代碼繼續正確運行(除了位深度和字節序外,還有其他一些要注意的因素)。

總之,可能是您只是在新的體系結構上重新編譯了代碼即可運行,或者可能需要進行一些編輯。 我猜這取決於您的代碼做什么以及如何編寫。

是的,您可能只需要重新編譯即可。 在(大多數?)64位架構上,int的大小仍為32位。

第二個問題的答案是,除非您另行告訴編譯器,否則它可能會為您在其上進行編譯的平台構建。 輸入uname -m會告訴您是哪一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM