[Development] ICU and Windows

Sascha Cunz sascha-ml at babbelbox.org
Sat Jan 12 00:26:26 CET 2013


Am Freitag, 11. Januar 2013, 23:07:25 schrieb Shaw Andy:
> > [...]
> > 
> > > Microsoft in the past has also said that you should keep the
> > > -MD(d)/-MT(d)
> > > setting consistent so it is the same across all libraries and
> > > applications,
> > 
> > [...]
> > 
> > Which is cool, if you can manage it. But it's far from what happens in the
> > real world.
> > 
> > In the real world you have foreign libraries to load, doesn't matter if
> > these are stock libraries provided from Microsoft, from 3rd parties or
> > even yourself. It is not uncommon to have all kinds of memory managers
> > mixed in one
> > application (some windows libraries still use MSVC6's runtime as dll).
> 
> [snip]
> 
> Granted it is tricky to ensure it happens in the real world, but we are in
> the position to ensure that we do in fact do the right thing in this case
> then shouldn't we actually do so?

In my book, the right thing to do is - as Thiago said - to ensure that memmory 
allocated by library X is also freed by library X. Everything other, including 
the play-safe recommendation from Microsoft above, looks like a workaround to 
me.

An additional reasoning comes to mind: If one ever wanted to use a memory 
profiler that is not a virtual-machine (like valgrind) or does dependency 
injecting but depends on code-augmentation, you won't have any luck getting 
this setup unless you compile all 3rd party provided code with that 
augmentation, too.

Sascha



More information about the Development mailing list