我正在尝试Rcpp.package.skeleton()
生成的rcpp_hello_world示例。
我对rcpp_hello_world.cpp
进行了一些小改动,我想重新编译包并使用修改后的代码运行该函数。
但是,尽管使用rm()
清除了名称空间,但是使用detach()
分离了库,使用r emove.packages()
删除了包,重新编译并重新安装包{ {1}},并使用install.packages(.., repos=NULL, type = 'source')
重新附加库,R仍然运行旧版本的.cpp代码。
如果我退出并重新启动R,library()
将加载修改后的.cpp代码并按预期运行它,但我不想在每次更改C ++代码时重新启动R(如果可能的)。
如何在不退出R?
的情况下让R正确刷新C ++调用答案 0 :(得分:3)
通常建议重新启动会话/重新加载包。
由于您可能不想重新启动主会话,因此可以
使用Rscript或littler加载新示例和测试,我经常这样做
使用RStudio,其中包构建过程现在构建包并在新的会话中为您重新加载
使用一个系统,您可以在其中拥有多个R会话并重新启动