加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何避免c开发过程中的内存泄漏

发布时间:2020-12-16 10:46:07 所属栏目:百科 来源:网络整理
导读:我想用C编程.我想知道我们应该遵循什么样的做法来避免内存泄漏 在发展本身.请注意特别注意的事项 处理字符串和动态内存分配. 解决方法 如果可能,请在堆栈上使用变量,而不是使用堆中的内存. 尽量避免常见错误,一些指示: 确保在使用malloc()或calloc()时调用f
我想用C编程.我想知道我们应该遵循什么样的做法来避免内存泄漏
在发展本身.请注意特别注意的事项
处理字符串和动态内存分配.

解决方法

如果可能,请在堆栈上使用变量,而不是使用堆中的内存.

尽量避免常见错误,一些指示:

>确保在使用malloc()或calloc()时调用free().
>不要首先重新分配指向已分配内存位置的指针,而不要先释放它,即不要丢失引用.
>使用realloc()时要小心.不要使用相同的指针输入&输出参数.

避免使用字符串犯下的常见错误,一些指示:

>确保有用于终止NUL字符的内存.
>确保在所有用例中终止字符串NUL(即使在strncpy()等函数中使用时也是如此)

学习使用调试器(gdb)
学习使用静态分析工具. splint,valgrind,clang等工具可以从您的发行版软件包库中安装到Linux系统上.

几个有用的链接:
c-faq – Arrays & Pointers
c-faq – Memory allocation
Secure C Coding – Memory Management
SO Question related to avoiding memory leak in C/C++
yolinux tutorial

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读