在RPGLE程序中,内存泄漏可以持续多久?

Tar*_*ila 3 memory-management rpg rpgle ibm-midrange

我正在投入生产一些使用%allocdealloc分配内存的RPGLE代码.程序员应该能够确保没有导致内存泄漏,但我担心如果不这样做会发生什么.

我的问题是:如果程序员陷入困境,有内存泄漏,然后当将这种记忆被回收?是程序离开内存还是作业完成时?

Tra*_*bst 8

来自ILE RPG程序员参考指南:

激活组结束时隐式释放存储.设置LR on不会释放模块分配的任何堆存储,但任何指向堆存储的指针都将丢失.

如果您的RPG程序位于其自己的激活组中,则程序结束时将释放内存.当然,当你的工作结束时,你的激活小组也会如此.因此,结束工作将始终清理分​​配的任何内存.