当前位置:网站首页>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,否则很简单,程序报错。
边栏推荐
猜你喜欢

进程(中):进程状态、进程地址空间

MPU6050 accelerometer and gyroscope sensor is connected with the Arduino

Process (in): process state, process address space

OpenSSF安全计划:SBOM将驱动软件供应链安全

【面试必看】链表的常见笔试题

Pylon CLI 低成本的本地环境管控工具应用实例

Hash table problem solving method

允许Traceroute探测

unity 代码拆分图集

Process (present) : custom shell command line interpreter
随机推荐
【LeetCode】链表相加 进位
开箱即用的职场办公常用功能:全文检索、便签、云笔记
剑指Offer 34.二叉树中和为某一值的路径 dfs+回溯
Kinematics Analysis of Robot Arm
想低成本保障软件安全?5大安全任务值得考虑
h264转flv
剑指Offer 47.礼物的最大值 动态规划
openssl-1.1.1g 交叉编译注意事项
Class ‘PHPWord_Writer_Word2003‘ not found
Laptop charging problems
AD Actual Combat
Process (below): process control, termination, waiting, replacement
初识云原生安全:云时代的最佳保障
2022 开源软件安全状况报告:超 41% 的企业对开源安全没有足够的信心
学习(二):单例模板
Gartner 权威预测未来4年网络安全的8大发展趋势
rosdep update failure solution (pro-test effective)
Lightly:新一代的C语言IDE
QT之实现斗鱼直播PC客户端
Comparison between Boda Industrial Cloud and Alibaba Cloud