当前位置:网站首页>QT+OPENCV+FFTW内存问题
QT+OPENCV+FFTW内存问题
2022-08-02 03:35:00 【MAUM】
首先区分两个概念,内存和缓存。
非官方的说,程序占用的内存是指程序需要用的内存,比如new 出来的,malloc出来的,这些内存不进行delete 或者 free的话,会造成内存泄露,显式的表现就是,使用 top 命令查看mem used,那一项会一直增加。
缓存就是程序不用了的内存,但是为了快速加载,仍存在与内存中,但是如果可用(free)的内存不足时,会在缓存里分配内存。
所以~~~只需要关注程序used 的空间即可,不用关心缓存 buff/cache。
另外,QT和OPENCV里面的函数基本上不会内存泄露,除非你new一个,故意不delete。
fftw里面使用fftw_malloc分配的内存,需要使用 fftw_free进行释放。
遵从一个原则即可: 看到星号 * 就要提高警惕,是在析构函数里delete还是在某个子函数里delete。
申请和释放对应:
new delete
malloc free
fftw_malloc fftw_free
另外,对于fftw生成的计划fftw_plan 变量,需要使用fftw_destroy_plan,否则内存一点点增加,短期内看不出来,时间长了就蹦了。
OPENCV中一般是release,每一个申请的对象会有这个子函数,里面自动调用delete函数。
不能重复delete,否则很简单,程序报错。
边栏推荐
猜你喜欢
随机推荐
剑指Offer 32.Ⅰ从上到下打印二叉树
想低成本保障软件安全?5大安全任务值得考虑
音视频文件的码率与大小计算
剑指Offer 36.二叉搜索树与双向链表 中序遍历
rosdep update失败解决办法(亲测有效)
HAL库笔记——通过按键来控制LED(基于正点原子STM32F103ZET6精英板)
全球主要国家地区数据(MySQL数据)
剑指Offer 34.二叉树中和为某一值的路径 dfs+回溯
Basic IO (below): soft and hard links and dynamic and static libraries
8款最佳实践,保护你的 IaC 安全!
Beckhoff ET2000 listener use
功能性网站
企业需要知道的5个 IAM 最佳实践
二进制中1的个数
unity相关的功能链接
只出现一次的字符
onvif/rtsp转gb28181协议,无缝对接国标平台
【Connect the heart rate sensor to Arduino to read the heart rate data】
音视频文件码率与大小计算
未来智安入围《2022年中国数字安全百强报告》,威胁检测与响应领域唯一XDR厂商









