我想在C程序结束时free自动多个malloc内存.
例如 :
str1 = malloc(sizeof(char) * 10);
str2 = malloc(sizeof(char) * 10);
str3 = malloc(sizeof(char) * 10);
Run Code Online (Sandbox Code Playgroud)
我不想要这样的函数:
void my_free()
{
free(str1);
free(str2);
free(str3);
}
Run Code Online (Sandbox Code Playgroud)
但是一个释放程序期间分配的所有内存的函数.
但是一个释放程序期间分配的所有内存的函数.
C中没有这样的功能.C不自动进行内存管理.因此,您有责任跟踪内存分配并适当地释放它们.
大多数现代操作系统(可能不是嵌入式系统)将回收在进程终止时执行期间分配的内存.所以你可以跳过来电free().但是,如果您的应用程序是一个长期运行的应用程序,那么如果它继续分配内存,这将成为一个问题.根据您的应用程序,您可以设计一个适当释放内存的策略.
| 归档时间: |
|
| 查看次数: |
474 次 |
| 最近记录: |