It's more fundamental than just incompatibility between release and rdebug
runtimes -- Microsoft actually allows executable modules to either have
their own heap, or share one. Thus, you can build all of your release
executables with "release" runtimes, and still have problems, since a
pointer can be allocated one heap and your code may try to return it to a
different heap. This is major headache with C++, since using the language
as designed (with regard to dynamically-allocated memory) is only possible
when all modules share one heap.
I actually like the extra "debugging" features in the debug memory manager,
so I'm not sure I agree with you that the decision was "stupid". it is,
however, very confusing, and a constant source of error for people who
don't ready the documentation and/or don't understand the issues.
Dave
Joachim
Achtzehnter To: [EMAIL PROTECTED]
<joachima@netacq cc:
uire.com> Subject: Re: Debug Assertion Failed
Sent by:
joachima@penguin
.kraut.ca
01/22/2002 10:57
AM
Please respond
to xerces-c-dev
Xerces Rule wrote:
>
> Manu Heirbaut suggested to use a multithreaded DLL. In VC++,
> I set 'Debug Multithreaded DLL' at Project>Settings>C++>Code
> Generating (Settings for Win32 Debug).
>
> But I'm still getting the same error.
The important point is that your C runtime setting (Debug or Release) must
be consistent with the Xerces DLL. In other words, if you use 'Debug
Multithreaded DLL' for your code you must link it with xerces-c_1D.lib,
if you use 'Multithreaded DLL' for your code you must link it with
xerces-c_1.lib (without the 'D').
> > I would be extremely obliged if anybody could explain
> > me if this is an Xerces bug, a MS bug or I am to blame.
It is a consequence of Microsoft's stupid decision to make release and
debug C runtimes incompatible.
Joachim
--
work: [EMAIL PROTECTED] (http://www.netacquire.com)
private: [EMAIL PROTECTED] (http://www.kraut.ca)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]