我没有针对这个问题的任何特定代码,因为手头的主题基本上适用于所有 C 程序。我主要对调用内置自由函数和准备其调用的策略和原则感兴趣,例如将所有变量存储在一个对象中或尽可能多地使用静态变量。例如,Gigachat建议我使用后立即释放资源,但在我看来,这不是唯一可能的解决方案,对吗?
我没有针对这个问题的任何特定代码,因为手头的主题基本上适用于所有 C 程序。我主要对调用内置自由函数和准备其调用的策略和原则感兴趣,例如将所有变量存储在一个对象中或尽可能多地使用静态变量。例如,Gigachat建议我使用后立即释放资源,但在我看来,这不是唯一可能的解决方案,对吗?
需要考虑平台特性以及内存如何分配。还必须考虑释放内存的成本,并且可能重复使用分配的内存。这些操作通常具有非确定性的持续时间,并且与请求的内存量没有直接关系。
一般而言,有三种方法:
从两个规则开始:
在需要时分配内存,而不是之前分配。
当不再需要内存时归还它,而不是稍后。
如果使用这两个规则后性能不佳,并且分析器确认问题出在内存管理上,那么请阅读有关内存管理的高级文章,并带着具体问题来这里。
附注:我不相信您很快就会遇到内存管理器性能限制的问题。大多数 C 程序员永远都无法达到这一步。 C 中的内存管理器是最简单、最快的内存管理器之一。驱使他真是太困难了。