写dll的时候使用malloc分配了内存 free的时候会出错 好像是内存分配在调用dll的模块里 free的时候在dll的模块里
那么该怎么办呢???
那么该怎么办呢???
解决方案 »
- 新手求教
- 采用了双缓冲,为什么还闪烁?
- 求助:图像旋转90度
- 如何让插入到Word中的ActiveX控件不被delete键删除
- 谁知道如何用CL命令直接编译工程文件(.dsw/.dsp)?以前看过,忘了
- 求教:关于动态修改图形
- 菜鸟在学vc,哪位大哥可以在MSN加我呀
- 关于众多函数名如何记的问题?好多函数名都是简写,有意义,但是又不知道是怎么简写的?
- 【100分请问最新的platform sdk下载地址】
- 我要在一个视图上画两个图,但是地方不够,所以用滚动窗口,但是图形没法刷新???
- 难题求助:关于窗口隐藏后,在任务栏该窗口还在,而且右键关闭也没有办法将其关闭
- mfc中如何判断是否读取了一个文件。
/MDd MSVCRTD.LIB // MSVCRT.LIB的调试库
/ML LIBC.LIB // C Runtime静态库 单线程版
/MLd LIBCD.LIB // MLIBC.LIB的调试库
/MT LIBCMT.LIB // C Runtime静态库 多线程版
/MTd LIBCMTD. // LIB LIBCMT.LIB的调试库
同一版本的Release库和Debug库的free()函数可能是兼容的
不同版本的C/C++库的free()函数基本就是两码事,内部实现有很大的不同。如果你用动态版的free去释放静态版的malloc出错是很正常的。极端子例子是一有方根本就没有使用C/C++ Runtime库,你在外部调用free,DLL里面根本就不认识free
虽然free函数是相同的,但静态版内free函数内部用到的临时变量是固定的,两个静态函数版本就会有两套临时变量,所以也会报错。