编译R脚本到独立的.exe文件?
有什么简单的方法来编译我的R
脚本到独立的.exe
文件就像什么样的MATLAB?
事实上,有一种方法可以达到您的要求。 看看有关在R-Bloggers上使用R来部署桌面应用程序的文章。 正如文章中详细描述的那样,您将最终使用比单个exe文件更多的东西。
另外我想用RGtk2来引起你对RGtk2的关注,你可以尝试在R中开发你自己的接口。如果推动起来,我相信你可以用R的便携版本打包你的R代码,依赖到一个安装程序,并从中创build和应用程序,这将创build一个exe文件的错觉。
在你的问题中,你问是否很容易开发解释R代码的独立可执行文件。 我不会说这很容易。 如果您希望从应用程序运行R代码,则可以使用RCaller for Java或R.NET以更简单的方式进行操作 。
回应你的评论:
其实我想分发它,但保持脚本和algorithm的秘密,有没有一种方法来encryption或以任何其他方式来达到这个目的?
你可以(有点)通过使用save()
来save()
函数。 例如,下面是一个你想保密的函数f()
:
f <- function(x, y) { return(x + y) }
保存在任何地方:
save(f, file = 'C:\\Users\\Joyce\\Documents\\R\\Secret.rda')
而当你想使用该function:
load("C:\\Users\\Joyce\\Documents\\R\\Secret.rda")
我将所有的function保存在单独的文件中,将它们放在一个文件夹中,并有一个简单的旧.R脚本加载它们并执行任何操作。 把整个东西拉起来,分发给任何人。 也许甚至可以把它编译成一个包。 那么有效的整个事情将是只读的。
这个解决scheme虽然不是那么好。 你仍然可以通过input函数的名字来看到R中的函数,所以它在这个意义上并不隐藏。 但是,如果你打开.rda文件,他们的内容都是乱码。 这一切都取决于你的代码的收件人与R的经验。
那么你将需要R部署机器上安装。 至于做一个可执行文件,我不知道这是可能的。 但是你可以创build另一个调用你的R脚本的程序。 R是一种解释型语言。 这不可能。
在TeachingDemos软件包的petals
function中实现了一种具有encryption代码的forms。
请注意,只需要中等程度的编程技巧来find隐藏的代码,然而这需要刻意的努力,用户将无法声称已经看到了代码。 然后,您需要一些types的许可协议来执行任何没有偷看协议。