我们有一个共享库,它为 char 数组分配(使用 malloc)内存,该数组通过 MEMPTR 返回到 Progress 过程。
在 OpenEdge 手册中,我读到要释放 Progress MEMPTR,必须使用 SET-SIZE 语句并将其设置为零 (0) 。
所以我的问题是,通过这样做:
SET-SIZE(mem-pointer) = 0.
SL 中用 malloc 分配的返回数组的内存是否也被释放?
如果不是这种情况,我可以创建一个函数,在 Progress Process 完成后释放 C 分配的内存吗?
最后,如果我必须创建此功能,谁能指出我的方向、参考手册或教程?