问题 Rcpp:将编译后的函数保存为Robj


如果我在R中定义一个函数,我可以使用save函数保存函数对象。然后我可以使用load函数加载该函数对象并直接使用它。但是,如果我有一个rcpp函数,并且如果我尝试保存已编译的版本并将其加载回内存,我就不能再直接使用该函数对象了。这有可能吗?我问的原因是因为编译函数需要一段时间,如果每次启动R环境都有办法避免这种成本,那就太好了。谢谢!


8268
2018-03-04 01:57


起源



答案:


不,通常你不能序列化(并因此保存)用它编译的函数 cxxfunction() 要么 sourceCpp()。你需要重新编译它,除非你把它放在一个包中。这就是为什么包是真正安装编译代码而不是快速实验的原因。


12
2018-03-04 02:01



乐趣。你可以选择“接受”这个答案,只选择你所要求的人。 - Dirk Eddelbuettel


答案:


不,通常你不能序列化(并因此保存)用它编译的函数 cxxfunction() 要么 sourceCpp()。你需要重新编译它,除非你把它放在一个包中。这就是为什么包是真正安装编译代码而不是快速实验的原因。


12
2018-03-04 02:01



乐趣。你可以选择“接受”这个答案,只选择你所要求的人。 - Dirk Eddelbuettel