5

Possible Duplicates:
Deterministic builds under Windows
comparing products of builds in release

Is a Visual Studio 2010 C++ build deterministic? That is, will it always produce the same binary instructions given equivalent source code input and identical compile/link settings?

I appreciate there may be various date stamps and other compile-system-dependent fields that get written to the binary EXE or DLL file. So the second part of my question is: how can I ignore these "mutable" elements when diffing such files?

I'm trying to create a tool that will compare binary artifacts from different build iterations and tell me if they are functionally equivalent or not.

Community
  • 1
  • 1
paperjam
  • 8,321
  • 12
  • 53
  • 79
  • see these questiosns http://stackoverflow.com/questions/319864/comparing-products-of-builds-in-release http://stackoverflow.com/questions/1180852/deterministic-builds-under-windows http://stackoverflow.com/questions/2832783/compare-two-dlls – rerun Apr 26 '11 at 14:19
  • Technically, this is not an _exact_ duplicate because the original question was about VS2005 and this is about VS2010. In theory, the answers could be different. In practice, I don't think they are, but I don't have any data to back that up. – Adrian McCarthy Apr 26 '11 at 16:46

1 Answers1

0

You can skip additional information like timestamps with the dumpbin command. Try

dumpbin /rawdata 
harper
  • 13,345
  • 8
  • 56
  • 105