OpenCV1.0 项目大量使用 cvBlob 结构(函数参数、blob 列表等)。
struct CvBlob{
float x,y,w,h;
int ID; }
我在 vc9 项目中成功添加了一些成员,直到我发现二进制文件在发布模式下无法在 IDE 之外运行。它在某处破坏期间崩溃(在项目内部执行时不会崩溃)。
新结构:
struct CvBlob{
float x,y,w,h;
int ID,myint; //Works fine.
double* mydouble; //Crushes only outside visual studio.
}
在 rutime 期间,mydouble
用作数组:
blob.mydouble=new double [10];
在我深入研究大型源代码之前,有什么通用的建议吗?
编辑:调试在 IDE 之外成功运行。
EDIT2: CvSeq 用作主 blob 列表容器:cvSeqPush(CvSeq*,CvBlob*)
, cvSeqRemove(CvSeq*,int)
. 这里有未定义的行为?