[英]change C++ code from Win32 platform to WinCE
我在 C++ 中有一個 Win32 應用程序。
我要生成的是與 WinCE 兼容的此應用程序的 an.exe。 我認為最好改變我的平台。 但是在智能設備平台運行代碼時,出現了很多錯誤? 更改源代碼的最佳方法是什么?
這條路可能很簡單,也可能非常困難。 取決於源代碼。 很少有在一開始就沒有考慮設備的情況下編寫的代碼無需更改就能正常工作的情況。 第一步是將所有代碼導入到針對您的設備 SDK 的智能設備項目中並嘗試構建它。 編譯器和 linker 將指示您必須完成的工作。
您可能面臨的一些較大痛點是:
還有很多其他的小“陷阱”,但在不了解您的代碼庫的情況下,很難多說。 同樣,編譯器和 linker 將首先讓您了解您還有多少工作要做。
我建議保留 win32 版本,這樣更容易開發和調試代碼。 在某些 windows ce 設備上,您可能無法在調試器中運行代碼。
如果您的應用程序是在沒有 UNICODE 的情況下編譯的,那么每次調用需要字符串的 API 函數時,您都必須將 CHAR* 字符串轉換為 WCHAR* 字符串。 如果你簡單地將你的應用程序變成 UNICODE,你會節省很多時間。否則到處使用 TCHAR。
你會發現有些代碼需要針對 Windows CE 平台的特殊版本和針對 Win32 的不同。 然后你可以使用 if-defs:
#if defined(_WIN32_WCE)
/// windows ce code version
#else
/// win32 code version
#endif
如果您想移植到 Windows CE 5.0,那么請准備好應對 memory 限制:每個進程 32MB,但實際上比您的代碼可用的要少。 您的設備實際上可以有 120+MB 或 RAM,要訪問它,您可以使用 memory 映射文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.