2011-12-01 85 views
5

我想端口SpecialK Poker Hand evaluatorR。我認爲這應該是相對容易使用Rcpp package,但我不知道從哪裏開始。移植現有C++代碼至R

現有的教程似乎專注於開發新的C++代碼以便在R中使用。在這種情況下,我想在R中使用此代碼,並且最小麻煩。如果代碼是一個自包含的功能,我可以編譯和鏈接inline它的飛行,但是這並不在這裏工作。

我想這個問題有兩個部分:

  1. 我需要做的C++源代碼進行任何更改,使其與RCPP兼容?
  2. 如何從R中調用此代碼,因爲它不是一個小的, 自我包含的函數,我可以使用 inline進行動態編譯和鏈接?

我也開到使用Java,Python或評價者的目標-C版本,但我不認爲這些會更容易鏈接到R.

+0

請問您有什麼打算ü具有從C++代碼變化與R? – Hauleth

+0

@Hauleth我想打電話從R. C++代碼在這種情況下,我想使用的r統計功能做一些基礎的撲克研究,但我需要一個求值。目前沒有評估撲克牌的R包,所以這看起來是最好的選擇。 – Zach

+0

我明白了。 – Hauleth

回答

4

你有沒有看着Rcpp這使得將R和C++結合起來相當不容易?

大量的包用它來將現有的C++代碼R.你也可以看看問題在這裏的[rcpp]標籤下。包中的相當廣泛的文檔,在我的網站和其他地方。

+0

嗨Dirk:哪裏有最新的C++學習者的最佳教程,希望移植一些現有的代碼? – Zach

+0

這並不容易。要訪問C++代碼,您需要了解一些C++。但是我們有幾十個例子,在不同的地方使用內聯,你可以從這些開始。和/或查看現有的「類似」CRAN軟件包,您可以嘗試學習(當鏈接到現有的庫)時。當然還有rcpp-devel清單及其檔案。 –

+0

謝謝。我希望有一個簡單的解決方案,但懷疑沒有。 – Zach