Reputation: 719
I have a WinCE6000 OSDesign but for historical reasons there are modifications and extra modules under folder which MS does not recommend. So we started to move everything which is not part of original MS delivery to another folder <3rdParty>.
As you might know WinCE has a complicated build mechanism but anyway after we complete refactoring we managed to run SYSGEN. Formerly we we forced to run Build & SysGen to get a nk.bin
We think of a mechanism to make sure nothing is changed after refactoring. Verification consists of comparing a refactored build tree with a already existing source tree. We compared contents of ce.bib file and contents of and numbers and names of files were identical. But then we realized that some binaries have different sizes. After comparing these exe's and binaries we found out that there are differences in files. But this does not make sense. Because we have not modified any source code. All we did was to move some modules to another location and modifying sources files.
Differences we observe in Beyond Compare and a PE file viewer states that sometimes .text section and sometimes .data section are different.
We wanted to make sure that refactoring will not effect resulting image by means of functionality. we know that there are timestamps in PE format but they wont result 2K in binary size I suppose.
Does any of you experienced such a problem before?
Upvotes: 1
Views: 1008
Reputation: 719
There is a self explaining post from MS here. http://support.microsoft.com/kb/164151
NOTE: There is no guarantee that Visual C++ will generate the same binary image when building the same source files on successive builds. However, you are guaranteed that the EXE (or DLL) will behave in precisely the same manner under execution, all other things being equal. Compile and link options and link order play a role in whether two binary images will compare equally.
Upvotes: 1