snd_pcm_hw_params_alloca()和snd_pcm_hw_params_malloc()有什么区别?

问题描述 投票:0回答:1

我已经看到了一些使用alsa api进行捕获/回放的代码。其中一些使用snd_pcm_hw_params_malloc(),而另一些使用snd_pcm_hw_params_alloca()

它们之间的区别除了一个是函数,另一个是宏。snd_pcm_hw_params_alloca()宏是否替换为snd_pcm_hw_params_malloc()?

c linux audio alsa
1个回答
0
投票

snd_pcm_hw_params_alloca()使用alloca()在堆栈上分配结构。这意味着当您的函数返回时,它会自动释放。

snd_pcm_hw_params_malloc()使用malloc()。您有责任在不再需要时致电snd_pcm_hw_params_free()

© www.soinside.com 2019 - 2024. All rights reserved.