Rのbigmemory
パッケージは、言語へのポインターを返すbig.matrix
何らかのオブジェクトとして R セッション間で共有できる行列をメモリに格納するクラスを提供します。C++
R
例えば:
library(bigmemory)
> a <- as.big.matrix(matrix(0, 5, 5))
> a
An object of class "big.matrix"
Slot "address":
<pointer: 0x24ae350>
パッケージのより多くの関数を使用してbigmemory
、行列の簡単な説明をファイルに書き出し、別の R セッションを開き、その新しい R セッションからメモリ内の行列にアクセスできます。
またはを使用して/コードをR
呼び出すこともできます。C
C++
.Call()
.C()
共有メモリ内のこのマトリックスで実行されるいくつかの関数をC
またはC++
(私はよりよく知っています)に実装したいと思いますが、これを行う方法がわかりません。C
メモリ内のアドレスを指定すると、既知のサイズとともに double[][] in にアクセスできますC
か? または私は完全に軌道から外れていますか?