gpt4 book ai didi

c - malloc()'s "完美效率”VS自动变量

转载 作者:行者123 更新时间:2023-11-30 18:26:59 24 4
gpt4 key购买 nike

有一段时间我有对任何东西调用 malloc 的习惯。然后我突然意识到,如果代码中没有性能关键部分,为什么不在自动程序上多使用几千字节并失去 malloc 过程(可能)需要的内存量的准确性呢?这样,在没有明显影响的情况下,我们可以编写出更具可读性的代码。例如临时复制一个字符串,以便在很少调用的函数中对其进行操作。

我的逻辑合理吗?

最佳答案

局部变量存储在堆栈上,这是有限的。 malloc() 从堆中分配内存,堆也是有限的,但包含的内存要多得多。

我通常不使用 malloc() ,除非内存量超出了我可以安全地存储在堆栈上的容量。

对于 Windows 开发,堆栈通常非常大。您可以存储最多几百个字节的缓冲区,而不会遇到太多麻烦(假设该函数永远不会被递归调用)。

但是,一般来说,如果我需要超过 50 个字节,我通常会使用 malloc()。

关于c - malloc()'s "完美效率”VS自动变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com