C语言如何避免Double Free

C语言如何避免Double Free,第1张

我试想了一种方法,char *check_free变量, 在你准备free()最原始的 像例中的 a 指针前, 让 check_free = a, 然后 free(a) ; 令 a = NULL; 在free_ex函数中 检查 b 和 check_free 是否相等 且 a 是否为 NULL 既 : if((b == check_free) &&(a == NULL)), 如果为真, 那么只需让 b = NULL; 即可。如果为假 则 free(b);

不知可不可行, 还有待你自己去调试。 如果700多处 有 不同种类的 a, 那 这个方法需要判断很多次。 在程序执行效率上肯定不好。

C方面,没有什么特别要注意的,

难点是数据库,特别是如果两边ORACLE版本不同,比较麻烦,

搭建测试环境,确认完全工作,然后转换运行的真实环境。

只有经过测试环境的测试,才能确保移植的成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8305845.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存