背景/我尝试过的:
我的最终目标是能够从 RStudio 分派一些 C++ 代码(一个相当大的物理模拟应用程序),并且当 C++ 代码运行时,让它反复与嵌入式 R 实例对话以做出决策。完成后,C++ 代码会将结果返回给 R
起作用的是两个部分分开。使用 Rcpp,我可以从 RStudio 启动物理模拟,并让 C++ 代码将信息返回给 RStudio,假设 C++ 代码不与嵌入式 R 实例对话。使用 RInside/Rcpp,我还能够让 C++ 程序运行并在嵌入式 R 实例进行业务时对其进行查询。
当我尝试将两者结合起来时,我得到一个 R 实例已经初始化的错误——这当然是有道理的,这是 RStudio 实例。我试过看RInside::InstancePtr()
,但它看起来不像RInside::instance_m
是由 RStudio 设置的
问题:是否可以将现有的 RStudio R 实例重新用作嵌入式实例以与 RInside 一起使用?
这似乎是不可能的,一个 R 实例在等待同一个 C++ 程序返回的同时不能接受来自正在运行的 C++ 程序的输入。
上述结构的原因是我希望 R 能够调度许多具有不同参数的物理模拟并汇总这些结果。我还希望某些决策逻辑(嵌入式 R 文件)能够用 R 而不是 C++ 编写,以使用户更容易。这些就是引导我提出上述解决方案的想法