For Windows XP/Vista, on a Intel chip, using Visual Studio 2005, I've been trying to write a function that will compute a checksum over a range of instructions during runtime. First I build the application and run it, putting a breakpoint on the checksum comparision( the breakpoint is outside of the range of the checksumming instructions, so the breakpoint isn't mucking up the checksum ). Once I get the sum value, I place that value in the comparision check, recompile, and run it. It runs fine, passing the checksum comparision check every time. If, however, I do a clean solution and rebuild( so delete all the objs basically ), the checksum value is different. How can that be, if NO code has changed? Can anyone explain this to me?