返回信息流char *p = (char *)malloc(10);
p="abcdfdse";
free(p);
cout<<p<<endl;
//以上运行不报错
char *p = (char *)malloc(10);
p=p+1;
free(p);
cout<<p<<endl;
//以上运行也不报错
char *p = (char *)malloc(10);
free(p);
free(p);
cout<<p<<endl;//除了显示不出来,还是不报错
dev是不是有什么设置我没发现?
这是一条镜像帖。来源:北邮人论坛 / cpp / #43741同步于 2010/9/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
dev/c++无法检测出free错误么?
idx001
2010/9/11镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
不仅仅是dev-c++,任何开发环境都探测不出来。
不仅仅是GCC,任何编译器都探测不出来。
malloc和free由libc实现。
想探测的话,用valgrind。
前面两个就语法来说free本来就不应该报错
最后面的free
貌似free(NULL)也是不会报错的
【 在 idx001 (X.win) 的大作中提到: 】
: char *p = (char *)malloc(10);
: p="abcdfdse";
: free(p);
: ...................
【 在 wks 的大作中提到: 】
: 不仅仅是dev-c++,任何开发环境都探测不出来。
: 不仅仅是GCC,任何编译器都探测不出来。
: malloc和free由libc实现。
: ...................
vs运行异常啊
【 在 MFC 的大作中提到: 】
: 前面两个就语法来说free本来就不应该报错
: 最后面的free
: 貌似free(NULL)也是不会报错的
: ...................
数据段的free????
【 在 MFC 的大作中提到: 】
: 嗯 应该是free一段数据
: 【 在 idx001 (X.win) 的大作中提到: 】
: : 数据段的free????
: ...................
打点.............