3
我一直在使用Rcpp和RInside來集成R和C++。我們有一個複雜但精心設計的C++架構,我發現很難從1個函數中訪問R.是否有可能將R
實例傳遞給不同的類/函數,以獲得更多的OOP設計?如果是的話,有沒有例子?通過RInside的'R'實例作爲類/方法之間的參數
爲了詳細查詢, 我想說的是,這樣的事情,
void foo(RInside& R0, int& x0)
{
R0.assign(x0,"totalSum");
}
void foo2(RInside& R0, int& y0)
{
R0.assign(y0,"temp");
R0.parseEvalQ("totalSum = totalSum + temp");
}
int main(int argc, char *argv[])
{
RInside R(int argc, char *argv[]);
int x=10, y = 11;
foo(R,x);
foo2(R,y);
return 0;
}
什麼我現在注意到的是,每次調用FOO,可能造成RInside的新實例。
謝謝 - 埃貢
不,它不會創建一個例如。你正在做正確的事(TM),你可以告訴我看,例如,在'top'或'htop'看看有多少個R進程產生(一個),以及你是否看到新的進程id(不,你不知道)。 – 2011-03-18 21:30:23