我想用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
希望这可以帮助!