• 内存防泄漏


    内存防泄漏(忘了用free释放内存了)
    劫持方法解决内存泄漏。
    1.使用自己写的mymalloc和myfree 替换malloc和free
    #include <stdio.h>
    #include <stdlib.h>

    //内存泄漏,第一强制调用malloc

    struct mem
    {
        void *p;//记录分配的地址
        int memlength;//记录分配的长度
    };

    struct MyStruct
    {
        struct mem* p;//分配一个指针数组  pp[i]=p;i++;
        int i;
    };

    int i = 0;

    void *  mymalloc(size_t _Size)//包一层
    {
        i++;
        void *p = malloc(_Size);

        return p;
    }
    void   myfree(void * _Memory)
    {
        i--;
        free(_Memory);
    }

    void main()
    {

        void *p1 = mymalloc(14);

        void *p2 = mymalloc(14);

        void *p3 = mymalloc(14);

        myfree(p1);
        printf("%d", i); //这里就会打印还有几片内存没有释放。
        system("pause");
    }

  • 相关阅读:
    字典生成式
    三元表达式
    迭代器
    装饰器
    闭包函数
    名称空间和作用域
    函数嵌套
    SQL Server 影响dbcc checkdb的 8 种因素
    SQL Server 对dbcc checkdb的优化
    SQL Server dbcc checkdb 修复
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5725116.html
Copyright © 2020-2023  润新知