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 _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
