開始計劃將您的項目移植到 64 位系統(tǒng),您必須能夠估計工作量和材料成本。讓我們考慮構(gòu)成創(chuàng)建 64 位軟件產(chǎn)品總成本的那些組件。
如果您覺得很難估算遷移到 64 位系統(tǒng)的成本,您可以聯(lián)系我們公司 OOO 'Program Verification Systems' 的專家尋求建議。我們公司還可以為您的項目適應(yīng) 64 位系統(tǒng)的部分或全部工作。
如今,您幾乎找不到擁有一臺配備 32 位微處理器的計算機的開發(fā)人員。但是您仍然應(yīng)該記住,您必須擁有一臺 64 位計算機,它可以讓您管理所有必須解決的任務(wù)。似乎最真實的情況是 64 位硬件架構(gòu)仍然可以在 32 位操作系統(tǒng)下工作。您應(yīng)該考慮購買和安裝 64 位版本操作系統(tǒng)的費用。還要考慮與更改操作系統(tǒng)版本相關(guān)的額外費用,例如重新安裝各種軟件。
將購買和掌握能夠創(chuàng)建 64 位代碼的新編譯器的價格加到總價格中。
您可能需要購買 64 位版本的庫和其他組件。事先了解那些在您的項目中使用其組件的公司的定價政策。有時 32 位和 64 位版本的組件單獨出售。如果您使用還沒有 64 位配置的開源庫,請準(zhǔn)備好花大量時間手動修改它們。
考慮您的員工學(xué)習(xí)有關(guān) 64 位系統(tǒng)開發(fā)的所有必要信息所需的時間。您可能還需要購買一些額外的工具,例如PVS-Studio。
正如您在前面的課程中已經(jīng)知道的那樣,編譯 64 位配置僅僅是開始。在大多數(shù)情況下,您需要找出并糾正在 64 位代碼中出現(xiàn)的許多缺陷。這可能是最費力但最難估計的部分工作。但是,我們可以根據(jù) PVS-Studio 靜態(tài)分析器為您提供以下建議。
好吧,您有好幾(幾十、幾百)兆字節(jié)的源代碼可供遷移。目前還沒有代碼的 64 位配置。因此,也沒有要在 64 位模式下編譯的文件。
PVS-Studio 為您提供了檢測 64 位代碼問題的能力,即使在 32 位項目中也是如此。正是這種能力讓您在創(chuàng)建項目的 64 位配置之前估計遷移的難度。
我希望讀者注意代碼的檢查是如何在 32 位模式下執(zhí)行的。您應(yīng)該了解,此檢查不能被認(rèn)為是完整的,即使您糾正了檢測到的所有錯誤,您也不能絕對確定代碼將在 64 位模式下工作。任何嚴(yán)肅的應(yīng)用程序的代碼都有這樣的片段:
#ifdef WIN64
...
#endif
當(dāng)然,在 32 位模式下測試代碼時會跳過這個片段。或者,更準(zhǔn)確地說,雖然還沒有 64 位配置,但應(yīng)用程序代碼可能沒有這樣的片段。
這是另一件重要的事情:數(shù)據(jù)類型自然會根據(jù)項目配置而有所不同。這就是為什么在 32 位和 64 位模式下的檢查幾乎總是會導(dǎo)致不同的結(jié)果。
但是它們會有多大不同呢?根據(jù)我們公司進行的實驗結(jié)果,我們有以下幾點:PVS-Studio分析儀在32位和64位模式下測試項目時產(chǎn)生的診斷警告列表符合95-97%。這意味著不超過 5% 的診斷消息不同。
這些結(jié)果是通過以下方式獲得的。我們?nèi)×苏鎸嶍椖康拇a,在 32 位模式下檢查并保存了診斷警告列表。然后我們在 64 位模式下檢查了相同項目的代碼,還保存了診斷警告列表。之后,我們比較了這些列表并估計了有多少百分比的診斷消息是一致的。由于整個過程是在自動模式下執(zhí)行的,因此分析的項目數(shù)量已經(jīng)足夠(超過 20 個項目,每個項目的代碼大小為幾 Mbytes)。所以我們可以得出結(jié)論,這些數(shù)字(5% 的差異)是可信的。
當(dāng)然,您不應(yīng)該急于修復(fù)在您的項目的 32 位配置中檢測到的所有潛在錯誤 - 最好等待 64 位配置。但是您可以輕松估計檢查代碼分析器生成的所有警告需要多長時間。
我們建議您執(zhí)行以下操作:
必須先編寫程序顯示您的錯誤,然后才能確定正確的檢測程序并預(yù)計它被修改為不同的時間。估計,您必須進行所有必要的更正。
多種代碼估計移植過程的算法——在分析消息的同時修改技能會在開發(fā)之內(nèi)有處理的消息,因此我們建議您在選擇處理者時,及時處理一個程序,在一天之內(nèi)非常小心和謹(jǐn)慎。
下面是有關(guān)如何選擇此類人員的一些建議:
遵循這些說法,您可以充分估計 64 位軟件遷移的成本和期限。
如果您的系統(tǒng)程序需要大量處理數(shù)據(jù),則需要在超過 4 個數(shù)據(jù)量的測試中進行測試。并行化的任務(wù)。在這種情況下您可能需要購買額外的工具。
如果您使用軟件破解或保護系統(tǒng)的軟件復(fù)制和保護,您應(yīng)該在總成本中加上為您的 64 位代碼,如果您當(dāng)前使用的系統(tǒng)不支持 64 位代碼,您可能掌握的保護系統(tǒng)。你可能會有一些其他的問題,所以請確保你有一些麻煩。
您將自己創(chuàng)建一個新的分發(fā)套件 - th是在上一課中考慮過的。