【发布时间】:2012-11-25 13:35:47
【问题描述】:
在我的 R 包中,实现该函数的 C 代码分配了一些内存供使用。 这段记忆会发生什么? 它会在 R 的 GC 的雷达下还是内存泄漏? 如果它在 R 的垃圾回收下,这块内存会被回收吗?
我在作为服务器运行的 R 的服务器进程中分配了 5 GB 的巨大数据。 在这里,如果我可以像我们在 Java 中分配外部堆内存一样,从 GC 的雷达中分配这些内存,那将是一个好主意。 所以基本上,我可以在我的 C 代码中分配大量内存而 R 不会干扰该内存吗?
我打算使用 malloc 或 calloc 来分配内存。
【问题讨论】:
-
答案将取决于您如何分配内存,这在您的问题中没有说明。
-
我将使用 C 中的 malloc 或 calloc 等常规方法来分配内存。
-
不,R 不会神奇地知道您使用任意 C 函数分配了哪些内存。 R 确实知道您使用 R 的 C 函数分配了哪些内存。
标签: r memory-management garbage-collection package