如果我在R中定义一个函数,我可以使用save函数保存函数对象。然后我可以使用load函数加载该函数对象并直接使用它。但是,如果我有一个rcpp函数,并且如果我尝试保存已编译的版本并将其加载回内存,我就不能再直接使用该函数对象了。这有可能吗?我问的原因是因为编译函数需要一段时间,如果每次启动R环境都有办法避免这种成本,那就太好了。谢谢!
如果我在R中定义一个函数,我可以使用save函数保存函数对象。然后我可以使用load函数加载该函数对象并直接使用它。但是,如果我有一个rcpp函数,并且如果我尝试保存已编译的版本并将其加载回内存,我就不能再直接使用该函数对象了。这有可能吗?我问的原因是因为编译函数需要一段时间,如果每次启动R环境都有办法避免这种成本,那就太好了。谢谢!
不,通常你不能序列化(并因此保存)用它编译的函数 cxxfunction()
要么 sourceCpp()
。你需要重新编译它,除非你把它放在一个包中。这就是为什么包是真正安装编译代码而不是快速实验的原因。
不,通常你不能序列化(并因此保存)用它编译的函数 cxxfunction()
要么 sourceCpp()
。你需要重新编译它,除非你把它放在一个包中。这就是为什么包是真正安装编译代码而不是快速实验的原因。