2

によって生成された rcpp_hello_world の例を試していRcpp.package.skeleton()ます。

に小さな変更を加えましたrcpp_hello_world.cpp。パッケージを再コンパイルし、変更されたコードで関数を実行したいと思います。

ただし、 で名前空間をクリアし、rm()でライブラリをデタッチし、detach()r でパッケージを削除し、 でパッケージをemove.packages()再コンパイルして再インストールし、install.packages(.., repos=NULL, type = 'source')でライブラリを再アタッチしてlibrary()も、R は古いバージョンの .cpp コードを実行します。

R を終了して再起動library()すると、変更された .cpp コードが読み込まれ、意図したとおりに実行されますが、C++ コードを変更するたびに R を再起動する必要はありません (可能な場合)。

R を終了せずに R を C++ 呼び出しを適切に更新するにはどうすればよいですか?

4

1 に答える 1

3

通常、セッションを再起動してパッケージをリロードすることをお勧めします。

メイン セッションを再開したくない場合は、

  • Rscript または littler を使用して、新しいサンプルとテストをロードします。私はよくそうします

  • パッケージビルドプロセスがパッケージをビルドし、新しいセッションで再ロードするRStudioを使用します

  • いくつかの R セッションを持つことができるシステムを使用し、それらを再起動します

于 2012-11-02T00:51:36.037 に答える