C - free() 或 memset() 为零和 free()?

Posted

技术标签:

【中文标题】C - free() 或 memset() 为零和 free()?【英文标题】:C - free() or memset() to zero and free()? 【发布时间】:2017-04-13 14:37:57 【问题描述】:

您好,我只是在 *** 上阅读所有问答,但无法找到确切的信息,无论是仅由 malloc() 分配的 free() 内存还是由 memset() 将其设置为零然后free()避免潜在的进一步使用数据(因为 afaik free() 保持数据完好无损)(避免任何其他程序在我离开时读取数据)。 谢谢

【问题讨论】:

【参考方案1】:

某些编译器(例如 Microsoft 编译器)会将值设置为 0xfeeefeee,以便您可以检查内存并查看它是否已被释放。 这对于调试和查找访问不再有效的内存地址的问题很有用,您还可以添加断言以帮助在运行时查找这些问题。

【讨论】:

以上是关于C - free() 或 memset() 为零和 free()?的主要内容,如果未能解决你的问题,请参考以下文章

C - memset vs free

响应式设计:为啥高度为零和 padding-bottom 可以使 div 响应大小?

SQLAlchemy Left join WHERE 子句被转换为零和一

进入 switch case 将每个变量重置为零和一些提示

d3.js - 对数刻度,范围为零和零

对二维数组的“memset”的混淆和“free”的错误