一、VS下不易发现的内存泄露
在VS下调用Halcon算子时,要特别注意:所有输出的变量,不管有没有用到,都不要用NULL来替代。否则会导致程序会有2-4kb的内存泄露。(Halcon12及以前版本均存在这个问题,最新的版本是否存在有待验证)
例如,我们需要计算某个区域的面积,而不关心另两个一并计算得出的中心点坐标,可能会这样写:
HTuple hv_Area; AreaCenter(ho_Region, &hv_Area, NULL, NULL);
这种方式会导致程序会有2-4kb的内存泄露,是不可取的,正确的方式如下:
HTuple hv_Area,hv_Row,hv_Column; AreaCenter(ho_Region, &hv_Area, &hv_Row, &hv_Column);