c - snd_pcm_hw_params_alloca() 和 snd_pcm_hw_params_malloc() 有什么区别?
问题描述
我已经看到了一些使用 alsa api 进行捕获/回放的代码。其中一些正在使用snd_pcm_hw_params_malloc()
,而另一些正在使用snd_pcm_hw_params_alloca()
。
除了一个是功能,一个是宏之外,它们之间的区别是什么。snd_pcm_hw_params_alloca() 宏是否被 snd_pcm_hw_params_malloc() 取代?
解决方案
snd_pcm_hw_params_alloca()
用于alloca()
在堆栈上分配结构。这意味着当您的函数返回时它会自动释放。
snd_pcm_hw_params_malloc()
使用malloc()
. snd_pcm_hw_params_free()
您有责任在不再需要时致电。
推荐阅读
- laravel-8 - Laravel8:认证后的护照API
- reactjs - Webpack5 ts-loader 无法编译反应文件
- r - 在 R 中运行混合 logit 模型时出现公式错误
- rust - 从特征和通用功能
- c# - 如何在 C# 中同时关注文本框和 datagridview?
- sql - 如何在 Apache Drill 上查询 elasticsearch
- javascript - 在 mongodb 中“加入”的嵌套查询
- assembly - 可以在同一时钟周期内解码两个可熔断对吗?
- css - CSS - 在父元素下方显示子元素(即,像行一样堆叠)
- docker - 我想问一下 docker volume