1. 编写子程序时出现了逻辑错误:程序可能会在某个条件下一直满足,从而导致子程序中的代码无限循环。
2. 子程序中存在死循环:子程序可能包含一个重复执行某段代码的死循环,如果没有设置退出条件,程序就会一直运行下去。
3. 栈溢出:如果子函数没有正确地释放内存或者递归调用深度太深,可能会导致栈溢出,从而引发无限循环。
4. 调用错误:如果程序调用了错误的子函数,并且该函数也会调用回原函数,就会发生无限循环。
要解决这个问题,可以使用调试工具或者加入日志来追踪程序运行过程中发生的情况,从而找出问题所在并进行修正。
可能是你编写的子程序格式有问题,GSK980上调用子程序的正确格式是:M98
P000****
000是调用次数,可以是1~999次,如果省略就是代表调用一次,****是子程序号,如想调用5次子程序,子程序号为8888可以写成:
M98
P58888
在GSK928上调用子程序的格式是这样的:
M98
P****
L00
****代表程序段号,请注意是程序段号而不是子程序号,这个与980最大的不同在于,这里的程序段号是必须写在主程序一起的!调用的是程序中某一段程序。
00代表次数,这个没啥好说的吧?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)