Re: MS VC 6.0 compiles EXE differently under 2000 vs XP

Tech-Archive recommends: Speed Up your PC by fixing your registry



Please post the byte-offsets and bytes that differ, as well as 16 or so
bytes around the differences.

Use "dumpbin /disasm" on each, redirected to files, then compare those
files.

At least one byte difference would be the drive-letter in the path-to-source
that is stored in the .EXE, if the drive-letter holding the source changes
between OS's.

Can make the two binaries available somewhere? Two machines with different
OS's and exactly the same development environments -- I don't have that
setup, so I can't build them, but it would be fun to try and figure out.

"dan daley" <ddaley@xxxxxxxxxxxxx> wrote in message
news:ZUYXe.538$G64.205@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> MS VC 6.0 pro compiled a simple console "hello world" program differently
> under Windows 2000 (sp4) versus Windows XP (sp2).
> I need to know why there is a difference.
> The difference is of concern since we have gambling applications that
> regulators must be able to release compile to an identical EXE -- allowing
> for the date/time of compile (4 bytes max).
>
> The compiler installation was: MS VC 6.0, vc6sp5, visual cpp processor
pack
> for sp5, and platformsdk Feb 2001.
>
> /* hworld.c "Hello world" program to test differences between windows
> 2000 and windows XP compiles.
> */
> #include <stdio.h>
> #include <stdlib.h>
> void main(void)
> {
> printf("hello world\n");
> exit(0);
> }
>
>
> To test the effect of updating from Win 2000 to XP we cloned a windows
2000
> (SP4) drive using Norton ghost 2002.
> Then updated the cloned drive to XP and booted as the primary drive on the
> same PC. After release compiling, the EXE from the 2000 and Xp compiles
> were compared. The EXE's were the same size. Aside from a 2-byte
> difference caused by the date/time of the two compiles, there were
15-bytes
> of differences, according to 'fc.exe'. The OBJ files are always
identical
> except for the embedded date/time stamp. Windows 2000 compiles always
> produced the same EXE except for the date/time stamp. XP release compiles
> are always consistent and identical across the two XP computers tested.
>
> Larger programs compile with much larger differences even allowing for
> identical blocks of code aligned differently within the EXE (identified
> using UltraCompare). So far XP and 2000 always compile to the same size.
>
> Why are the XP and 2000 compiles producing a different EXE?
>
>
>


.



Relevant Pages

  • Re: Please help - getting error when open program - "Type Mismatch"
    ... Also I can make it an exe. ... compiles ok... ... 20 b = InputBox("Enter an integer to divide by") ... You may have to compile several debug versions of your app in order to ...
    (microsoft.public.vb.general.discussion)
  • Re: Please help - getting error when open program - "Type Mismatch"
    ... Also I can make it an exe. ... compiles ok... ... 20 b = InputBox("Enter an integer to divide by") ... You may have to compile several debug versions of your app in order to ...
    (microsoft.public.vb.general.discussion)
  • Re: Protecting code
    ... > I know that when an .NET exe is run, ... > compiles them to native code then runs the code. ... method is called it is JIT compiled and the native code is cached in memory. ... > debugger and serialise the exe and assemblies ...
    (microsoft.public.dotnet.security)
  • Re: Still Loving Python
    ... >> A single click compiles, links and runs the resulting independent windows .exe in a fraction of a second ... >> for the above, and I can see the hint, kill the .exe, and go on where I was. ... Not in a fraction of a second, but that's sort of irrelevant to ... Bengt Richter ...
    (comp.lang.python)
  • Re: How to locate compiled binary code relative to source code?
    ... > I need to be able to identify in the compiled EXE a specific location ... > When it compiles, I need to be able to locate in the binary exe the offsets ... Then it should be easy to make as many unique sequences as you want. ... Load A, n ...
    (comp.programming)