Re: binanry comparison mismatch
- From: "Ralph" <nt_consulting64@xxxxxxxxx>
- Date: Wed, 19 Mar 2008 11:40:36 -0500
"Denis" <Denis@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:E1593558-42E4-4576-95B4-6B59DB05CFC3@xxxxxxxxxxxxxxxx
HiVB.
I am in the process of creating a demo. As part of this demo, I have to
prove a rebuild of the all binaries of my product and show that other than
file versioning, there are no differences.
I have 2 vb projects that change every time they build. Sometimes the
differences are small and some times I am surprised at just how different
they are.
Please can anyone advise how the projects can be fixed or a compile option
that will force the build to be the same?
Please note I am a C++ developer so have only a few days experience with
I have tried the MSDN as well as searching this news group but to noavail.
Thanks
David Kerber is dead on.
Through having played with this phenomena for years, I don't have a *good*
explanation either.
I can tell of you of dozen of constructs that are likely to be problematic.
And provide a list of things that tend to mitigate the problem. But nothing
that will be consistent or worth doing in the long run. <g>
It is related to the fact that unlike C/C++, VB doesn't perform a 1::1
conversion of VB source code (files) to compiled native code. All source is
first loaded and converted to pcode. More properly called excode at this
stage, and its not just a series of code statements, but caches,
jump-tables, symbol tables, tokens, etc. When a native code compile is
requested this excode is converted (preprocessed) into an odd mix of
tokenized C code (called .obj files but they are not what a C programmer
would call an obj file) that is passed on to the C2.exe compiler.
Even so, you would think the process would highly deterministic, but it
appears not to be. A certain amount of twittering goes on no matter what you
do.
Perhaps the most bizarre expression is that on occasion you can open the
IDE, then select "Make ... "; then, not touching a thing, repeat the command
several times. The exe will grow about 2k with each compile! It will grow to
some size then either stop or suddenly snap back to a size closer to the
original or even smaller. Opening and closing the IDE will also put "it
back". Or you may never see the original small size ever again.
You either have to remove having an exact match from your requirements, or
invest weeks into coming up with some kind of build setup that works for
your domain, but it will be fragile and break on a sneeze - most likely
during the demo. <g>
-ralph
.
- Follow-Ups:
- Re: binanry comparison mismatch
- From: Denis
- Re: binanry comparison mismatch
- From: dpb
- Re: binanry comparison mismatch
- Prev by Date: VB Developer
- Next by Date: Re: creation of a large XML file using vb 6.0 throws out of memory error.
- Previous by thread: Re: binanry comparison mismatch
- Next by thread: Re: binanry comparison mismatch
- Index(es):
Relevant Pages
|