ik heb een QT dll met /MD gecompileerd (release mode)
ik heb een applicatie die met /MDd is gecompileerd (debug mode)
In mijn applicatie heb ik new en delete geoverload.
en een stukje code
Kan iemand mij uitleggen waarom start() wel gebruik maakt 'mijn' new maar stop() niet van 'mijn' delete ?
Sommige classes worden nml wel opgeruimd door 'mijn' delete (QPtrList, QMap) maar dit QLabel niet, en zo zijn er nog meer....
Ik vermoed dat het iets te maken heeft met de mix van msvcrt.dll en msvcrtd.dll... Maar hoe / waarom.... ?
ik heb een applicatie die met /MDd is gecompileerd (debug mode)
In mijn applicatie heb ik new en delete geoverload.
C++:
1
2
3
4
5
6
7
8
| void* operator new( size_t n ) { return malloc( n ); } void operator delete( void* p ) { free( p ); } |
en een stukje code
C++:
1
2
3
4
5
6
7
| void a::start() { pLabel = new QLabel( ... ); } void a::stop() { delete pLabel; } |
Kan iemand mij uitleggen waarom start() wel gebruik maakt 'mijn' new maar stop() niet van 'mijn' delete ?
Sommige classes worden nml wel opgeruimd door 'mijn' delete (QPtrList, QMap) maar dit QLabel niet, en zo zijn er nog meer....
Ik vermoed dat het iets te maken heeft met de mix van msvcrt.dll en msvcrtd.dll... Maar hoe / waarom.... ?