在 Code::Blocks IDE 中使用 malloc() 避免内存泄漏

Avoiding memory leaks using malloc() in the Code::Blocks IDE

我使用 Code::Blocks 用 C 编写代码。据我所知,它结合了文本编辑器、编译器和调试器。

我担心的是在不使用free函数的情况下使用malloc命令是否会导致内存泄漏,或者Code::Blocks是否会在每次我[=21]后自行清理=] 我的程序来自 Code::Blocks?

没错,Codeblocks是一个集成开发环境,但它不是C++运行时。它仅与编译器集成,无法控制代码的执行。

无论何时调用 malloc,都必须调用 free。执行您的代码的平台将在您的程序终止后回收泄漏的内存,但这不是 Codeblocks 或操作系统的责任。

切勿在未调用 free 的情况下调用 malloc

好吧,CodeBlocks 只是一个 IDE,这意味着您可以使用它来编辑、编译、调试和 运行 您的代码。但是,软件本身(我指的是 CodeBlocks)不会干扰或影响您在 RUNTIME 中编写的程序。

在你"build and run"你的代码之后,操作系统会给你的程序资源(内存和CPU等),但是OS不能"rewrite"你的程序,任何一个。 为避免内存泄漏,您应该记得在调用分配器(callocmalloc)并使用内存后 free 内存。

要了解更多有关 C 中内存使用技巧的信息,您可以阅读 CSAPP 的第 9 章 虚拟内存