Tar*_*ila 3 memory-management rpg rpgle ibm-midrange
我正在投入生产一些使用%alloc和dealloc分配内存的RPGLE代码.程序员应该能够确保没有导致内存泄漏,但我担心如果不这样做会发生什么.
我的问题是:如果程序员陷入困境,有被内存泄漏,然后当将这种记忆被回收?是程序离开内存还是作业完成时?
来自ILE RPG程序员参考指南:
激活组结束时隐式释放存储.设置LR on不会释放模块分配的任何堆存储,但任何指向堆存储的指针都将丢失.
如果您的RPG程序位于其自己的激活组中,则程序结束时将释放内存.当然,当你的工作结束时,你的激活小组也会如此.因此,结束工作将始终清理分配的任何内存.