C - free() 或 memset() 归零和 free()?
C - free() or memset() to zero and free()?
您好,我刚刚阅读了 Whosebug 上的所有问答,但无法找到确切的信息是仅 free()
由 malloc()
分配的内存还是由 [= 将其设置为零12=] 然后 free()
以避免潜在的进一步使用数据(因为 afaik free()
保持数据完好无损)(避免任何其他程序在我离开时读取数据)。
谢谢
某些编译器(如 Microsoft 编译器)会将值设置为 0xfeeefeee,以便您可以检查内存并查看它是否已被释放。
这对于调试和查找访问不再有效的内存地址的问题很有用,您还可以添加断言以帮助在运行时查找这些问题。
您好,我刚刚阅读了 Whosebug 上的所有问答,但无法找到确切的信息是仅 free()
由 malloc()
分配的内存还是由 [= 将其设置为零12=] 然后 free()
以避免潜在的进一步使用数据(因为 afaik free()
保持数据完好无损)(避免任何其他程序在我离开时读取数据)。
谢谢
某些编译器(如 Microsoft 编译器)会将值设置为 0xfeeefeee,以便您可以检查内存并查看它是否已被释放。 这对于调试和查找访问不再有效的内存地址的问题很有用,您还可以添加断言以帮助在运行时查找这些问题。