我正在为 R 包开发 C 中的函数,我需要在手动分配的内存中初始化 R 数字向量,而不是垃圾收集。
标准函数 allocVector(REALSXP, XXX) 为我分配内存并初始化对象。我已经分配了一块内存,我需要在这个内存中初始化 R 对象并将其返回给用户空间。
我正在尝试遵循的算法
自己分配内存(其实是内存映射文件)
在这个内存中放置一个 R 对象(标准 R 数值向量)(如何?)
防止垃圾收集器尝试收集它(如何?)
为此对象注册终结器
返回 R 对象用户可以使用它
获取不再引用对象的通知并解除分配对象