1

我有一個WinCE6000 OSDesign但由於歷史原因,也有修改和文件夾下的額外的模塊,這些模塊MS不建議。於是我們開始行動的一切是不是原來的MS交付的一部分到另一個文件夾<的3rdParty>。同一來源,但不同的二進制文件

正如你可能知道的WinCE具有複雜構建機制,但我們完全重構後反正我們成功地運行SYSGEN。以前我們我們不得不運行Build & SysGen來獲得一個nk.bin

我們想到了一個機制來確保重構後沒有任何東西被改變。驗證包括比較重構的構建樹和已經存在的源樹。我們比較ce.bib文件的內容,內容和數量和文件的名稱是相同的。但是後來我們意識到一些二進制文件有不同的大小。比較這些exe文件和二進制文件後,我們發現文件存在差異。但這沒有意義。因爲我們沒有修改任何源代碼。我們所做的只是將一些模塊移動到另一個位置並修改源文件。

差異,我們在超越觀察比較和PE文件瀏覽器的狀態,有時.text段,有時.data段是不同的。

我們希望確保重構不會因功能來影響產生的圖像。我們知道,在PE格式的時間戳,但他們在二進制文件的大小,我想不會導致2K。

是否有任何的你遇到過這樣的問題之前? 問候

回答

1

有一個自我解釋這裏從MS崗位。 http://support.microsoft.com/kb/164151

注意:在連續構建時構建相同的源文件時,不能保證Visual C++將生成相同的二進制圖像。但是,保證您的EXE(或DLL)的行爲在完全相同的方式下執行,所有其他的事情都是平等的。編譯和鏈接選項和鏈接順序播放兩種二進制圖像是否會同樣比較的作用。

+0

也沒有保證兩個NK.BINs將是相同的,其實我懷疑他們永遠不會是由於日期的差異。修正順序可以將完全相同構建中的輸出二進制大小更改爲幾k。 – ctacke

相關問題