dll之间的内存使用问题
用vc6.0建立一个dll(不是MFC的)它输出一个函数
__declspec( dllexport ) int* f()
{
return new int;
}
在另一个控制台程序中使用这个dll如下
__declspec( dllimport ) int* f();
int main(int argc, char* argv[])
{
int *p = f();
delete p;
return 0;
}
那么在delete p;一行会死机。
请问:
1:这是问什么?
2:有什么好的解决办法。
我知道MFC程序用MFC的dll不会有问题,因为MFC重载了new,delete算子。用malloc和free也不会有问题。我这里只是想请教一下各位高人在处理这个问题时使用什么技巧,使得符合我写new,delete而不是malloc,free的程序书写习惯。