2011-03-16 37 views
1

我们有一个共享库,它为使用malloc分配的char数组通过MEMPTR返回Progress进程。进度4L SET-SIZE语句和C-malloc

在OpenEdge手册中,我读到为了释放一个Progress MEMPTR,需要使用SET-SIZE语句并将其设置为零(0)。

所以我的问题是,这样做:

SET-SIZE(mem-pointer) = 0. 

与在SL的malloc分配的返回数组的内存被释放呢?

如果不是这种情况,我可以创建一个函数,在Progress Process完成后释放C分配的内存吗?

最后,如果我必须创建此功能,任何人都可以在某些方向指向我,参考手册或教程?

回答

0

我对Progress并不熟悉,但似乎可以在您的c库中使用MEMPTR释放一个dealloc函数,释放mableced内存,并在从Progress中调用它之后释放正在进行的MEMPTR。如果你有权访问第一个c函数中的MEMPTR,你应该可以在dealloc函数中访问它。