Aufruf einer Rcpp-Funktion von einer anderen Rcpp-Funktion beim Erstellen eines R-Pakets

8

Ich habe dieses Beispiel von einer anderen Frage genommen. Ich baue ein R-Paket mit Rcpp. Ich habe eine Funktion wie fun1 (unten), die ich in eine eigene .cpp Datei schreiben möchte. Dann möchte ich fun1 mit anderen Funktionen aufrufen (wie fun() unten). Ich will fun1 in einer separaten Datei, weil ich es aus mehreren Rcpp-Funktionen aufrufen werde, die sich in verschiedenen .cpp -Dateien befinden. Gibt es bestimmte Include-Anweisungen und Dinge, die ich tun muss, um die Funktion fun1 in .cpp zugänglich zu machen, wo fun() sich befindet? Vielen Dank.

%Vor%

Also für meinen Code werde ich zwei .cpp Dateien haben:

%Vor%

Und eine zweite .cpp Datei:

%Vor%     
user3583481 07.05.2014, 20:27
quelle

1 Antwort

10

Zwei mögliche Lösungen:

Die 'schnell und schmutzig', Lösung - schließen Sie die Funktionsdeklaration in die Datei ein, in der Sie sie verwenden:

%Vor%

Die robustere Lösung: Schreiben Sie Header-Dateien, die die Funktionen deklarieren, die dann in jeder Datei #include -ed sein können. Sie könnten also eine Header-Datei fun1.h im selben src -Verzeichnis haben:

%Vor%

was Sie dann mit etwas wie:

verwenden könnten %Vor%

Wenn Sie Fortschritte machen, müssen Sie mehr C ++ - Programmierkenntnisse erlernen, daher empfehle ich, eines der Bücher hier ; insbesondere Accelerated C ++ ist eine gute Einführung.

    
Kevin Ushey 07.05.2014, 21:03
quelle

Tags und Links