Rcpp如何在执行后擦除C ++代码中使用的所有内存?

时间:2017-07-26 15:04:45

标签: r rcpp

我正在编写一个R程序,其中计算密集的部分是通过RCpp用C ++编写的。但是我注意到我的程序的C ++部分使用的内存在执行后没有被释放。

我正在谈论的一个非常简单的例子。假设我有一个C ++程序,它所做的只是分配100MB的内存。在R中,我写了一个for循环,运行这个C ++程序10次。在for循环结束时,我使用了1GB的RAM。

我预计在每个循环结束时,由于程序停止运行,C ++分配的100MB内存应该已经释放。但是,即使C ++程序已经停止运行,1GB的内存仍然存在。如何让R真正退出C ++程序并释放所有内存?

我知道我应该在我的C ++程序中释放内存,但是不能释放局部变量。即使可以,也有太多这些变量。编写的程序意味着运行一次,然后关闭,然后再循环运行。

由于

0 个答案:

没有答案