matlabと同じように、R
スクリプトをスタンドアロン.exe
ファイルにコンパイルする簡単な方法はありますか?
matlabと同じように、R
スクリプトをスタンドアロン.exe
ファイルにコンパイルする簡単な方法はありますか?
回答:
実際のところ、要件を満たすソリューションを実現する方法があります。R-BloggerでのRを使用したデスクトップアプリのデプロイに関する記事をご覧ください。記事で詳しく説明されているように、単一のexeファイルよりも多くのものを使用することになります。
また、RGtk2を使用してRGtk2に注目したいと思います。これにより、Rで独自のインターフェイスを開発することができます。プッシュが必要になった場合は、RコードをポータブルバージョンのRと一緒にパックできると思います。 1つのインストーラーとmakeおよびappへの依存関係。これにより、単一のexeファイルのような錯覚が生じます。
あなたの質問では、Rコードを解釈するスタンドアロンの実行可能ファイルを開発するのは簡単かどうかを尋ねました。簡単だとは言えません。アプリケーションからRコードを実行したい場合は、RCaller forJavaまたはR.NETを使用して簡単に実行できます。
あなたのコメントに応えて:
実際に配布したいのですが、スクリプトとアルゴリズムを秘密にして、それを暗号化する方法や、この目的を達成するための他の方法はありますか?
を使用して関数を保存することで、これを(一種の)行うことができますsave()
。たとえば、f()
秘密にしておきたい関数は次のとおりです。
f <- function(x, y) {
return(x + y)
}
どこにでも保存:
save(f, file = 'C:\\Users\\Joyce\\Documents\\R\\Secret.rda')
そして、あなたがその機能を使いたいとき:
load("C:\\Users\\Joyce\\Documents\\R\\Secret.rda")
すべての関数を別々のファイルに保存し、それらをフォルダーに入れて、1つの単純な古い.Rスクリプトですべてをロードし、何でも実行します。全部を圧縮して、誰にでも配布します。たぶんそれをパッケージにコンパイルすることさえあります。事実上、すべてが読み取り専用になります。
ただし、このソリューションはそれほど優れていません。関数の名前を入力することで、Rで関数を表示できるため、その意味で非表示になることはありません。ただし、.rdaファイルを開くと、その内容はすべて文字化けします。それはすべて、コードの受信者がRをどの程度経験しているかによって異なります。
f
。
暗号化されたコードを持つ1つの形式はpetals
、TeachingDemosパッケージの関数に実装されています。
隠されたコードを見つけるには中級レベルのプログラミングスキルしか必要ないことに注意してください。ただし、意図的な努力が必要であり、ユーザーが誤ってコードを見たと主張することはできません。次に、ピークなしの契約を実施するために、何らかの種類のライセンス契約を締結する必要があります。
petals
関数はコードを非表示にしません。これは、コードのキー部分を非表示にする一例です(キー部分を読み取ることができますか?)。暗号化(ブリーチング)を行うには、他のツールが必要です。より簡単なアプローチについては、stat.ethz.ch / pipermail / r-devel / 2011-October /062236.htmlで説明されています。バイトコンパイルも役立つ場合がありますが、実際には何らかのライセンス契約が必要です。