FFmpeg: FFmpeg中的av_free()和av_freep()区别
生活随笔
收集整理的這篇文章主要介紹了
FFmpeg: FFmpeg中的av_free()和av_freep()区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最直接的區(qū)別就是av_freep()會(huì)在av_free()的基礎(chǔ)上,把傳入的指針再置為NULL。
FFmpeg源代碼:
av_free()
void av_free(void *ptr)
{
#if CONFIG_MEMALIGN_HACK
if (ptr) {
int v= ((char *)ptr)[-1];
av_assert0(v>0 && v<=ALIGN);
free((char *)ptr - v);
}
#elif HAVE_ALIGNED_MALLOC
_aligned_free(ptr);
#else
free(ptr);
#endif
}
av_freep()
void av_freep(void *arg)
{
void **ptr = (void **)arg;
av_free(*ptr);
*ptr = NULL;
}
參考鏈接:
1.雷神 :FFmpeg源代碼簡(jiǎn)單分析:內(nèi)存的分配和釋放(av_malloc()、av_free()等)
總結(jié)
以上是生活随笔為你收集整理的FFmpeg: FFmpeg中的av_free()和av_freep()区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【微信小程序&腾讯地图】获取用户
- 下一篇: hybris