高速化のためにRcppを使用して関数を定義しようとしています。状況は次のようになります。パッケージBARのRパッケージFOOのC++コードを使用する最善の方法
- 私は、多くのC++コード(自分のパッケージと現在はRcppを使用していません)を持つパッケージFOOを持っています。 foo_aとfoo_b。
- 別のパッケージBAR(Rcppを使用)では、関数foo_aとfoo_bを呼び出す関数を定義しています(Rcpp属性を使用しています)。
どうすれば解決できますか?他の投稿を少し見て、私はFOOにヘッダファイルを組み込み、BARに属性を使用する方法をいくつか持っていますが、私はいくつかの点を逃しているようです。どのようにそれを行うためのヒント?
ベストラース
EDIT:コメントのおかげで、私はケビンUsheysのアプローチが好きで、それを実装しようとしました。しかし、いくつかのコーディングの後、私は実際にはFOOの関数ではなく、クラスとそのpublic関数が必要であることに気付きました。私はあなたがクラスのために提案したトリックをすることはできないと思います。私はクラスのソースファイルをBOOのsrcディレクトリに置いてしまいました(同じコードの2つのバージョンを持っているので、最良のアプローチではありません)。しかし、現時点では、このハックは私のために働く。
は/計器に入れてパッケージFOOのインクルード(src/Makevarsに-I ../ inst/includeをセットし、パッケージBARにRcppDepends(FOO)を使用させる - コピーを1つだけ使用する、それを使用する2つのパッケージRcppXtsについて書いた内容を見る –
ありがとうDirk。私はRcppXtsを見ていますが、クラスでも可能だとは思いませんでした。 – Relund