> > Strip the exe afterwards and it'll come much closer. (Exact matches aren't possible > > unless you compile in the same path at the same time). > > Compilers should be deterministic, so the actual binary output should be identical > with the same compiler version and settings. The object files should be the same. > Once everything's linked, the windows resource properties will be different because > of timestamps, but the final exe should be the same size.
The actual binary code and data *are* identical, assuming you use the same settings and optimize for the same processor as the official build. But modern executables include significant amounts of metadata, including the timestamp and absolute paths involved in the compile. You're unlikely to get a perfect checksum match between two compiles of the same source unless you distill all the way down to a bare binary (like DOS .COM files were).
|