[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