我正在编写一个R程序,其中计算密集的部分是通过RCpp用C ++编写的。但是我注意到我的程序的C ++部分使用的内存在执行后没有被释放。
我正在谈论的一个非常简单的例子。假设我有一个C ++程序,它所做的只是分配100MB的内存。在R中,我写了一个for循环,运行这个C ++程序10次。在for循环结束时,我使用了1GB的RAM。
我预计在每个循环结束时,由于程序停止运行,C ++分配的100MB内存应该已经释放。但是,即使C ++程序已经停止运行,1GB的内存仍然存在。如何让R真正退出C ++程序并释放所有内存?
我知道我应该在我的C ++程序中释放内存,但是不能释放局部变量。即使可以,也有太多这些变量。编写的程序意味着运行一次,然后关闭,然后再循环运行。
由于