将matlab的程序打包成exe后,运行,中间exe停止工作,调试报堆栈溢出,但是.m文件在matlab上运行没有问题。
只好在源程序里面添加日志文件,将信息打印出来,确定在哪个函数里面运行出错,最后定位到一个递归函数。
只好将这个递归函数消灭,换成另外的方式写这个函数功能。
解决思路:
1.创建数组,初始化,将第一份数据存放到数组,Num = 1,loc = 1;
2.处理这份数据,中间有需要往下递归运行的数据继续存放在数组内,Num++;
3.while循环(loc<Num),处理loc处指向的数组数据,有需要往下递归运行的数据继续存放在数组内,Num++,loc++;