gpt4 book ai didi

c++ - 通过 C 中的指针从 R 中的 big.matrix 访问一 block 内存

转载 作者:太空狗 更新时间:2023-10-29 21:23:23 24 4
gpt4 key购买 nike

bigmemory R 中的包提供了一个类,big.matrix它在内存中存储一​​个矩阵,可以作为某种 C++ 在 R session 之间共享。对象,返回指向 R 的指针语言。

例如:

library(bigmemory)
> a <- as.big.matrix(matrix(0, 5, 5))
> a
An object of class "big.matrix"
Slot "address":
<pointer: 0x24ae350>

使用 bigmemory 中的更多功能然后我可以将矩阵的简短描述写到文件中,打开另一个 R session ,并从新的 R session 访问内存中的矩阵。

来自 R您也可以调用C/C++使用 .Call() 的代码或 .C() .

我想在 C 中实现一些功能或 C++ (我更熟悉 C ),它将在共享内存中的这个矩阵上运行,但我不知道如何去做。

给定内存中的地址以及已知大小,我可以访问 C 中的 double[][] ?还是我完全偏离了轨道?

最佳答案

Ok luckiliy for you Dirk Eddelbuettel 和 Romain Francois 写了一个很棒的工具,叫做 Rcpp这将为您完成所有(非常)艰苦的工作。安装包,阅读小插图,享受重用 Rcpp Gallery 上可用的所有示例代码的乐趣

甚至还有一个示例说明如何将 bigmemoryRcpp 结合使用 here

关于c++ - 通过 C 中的指针从 R 中的 big.matrix 访问一 block 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18396719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com