2

我有一个在 Windows 中开发的 R 脚本,它需要一个特定的 DLL 在路径中,因为它使用其中包含的一些函数(通过dyn.load函数)。

是否可以使脚本在 Linux 下运行?也许用酒?

4

1 回答 1

4

假设您拥有非 R 代码的源代码,我认为您最好的选择是在 Linux 下编译代码,例如使用 gcc 编译器,创建共享库(.so文件)并将其加载到 R 中。如果您将代码(R 代码和其他源代码)在 R 包中,您可以集成 R 代码和其他源代码,以便它们可以一次性安装,源代码是动态编译的。


您没有源代码这一事实使事情变得相当复杂。这个 SO 帖子:

在 Linux 中使用 Windows DLL

建议我,你想要的不是微不足道的。一种选择是在 Windows 虚拟机中运行 dll。然后,您可以使用例如 Tcp/ip 与您机器上运行的 dll 进行通信。因此,取决于您愿意走多远,这可能是一个解决方案。上面帖子的答案也表明葡萄酒不会提供令人满意的解决方案,但帖子已经很老了,所以葡萄酒可能会在此期间得到改进。

于 2012-08-03T07:53:45.917 回答