编译dll的话还是用Rtools的R CMD SHLIB命令吧,你在自己的cpp文件(比如叫myfun.cpp)中加上#include "Rcpp.h",比如
#include "Rcpp.h" <br />
<br />
RcppExport SEXP ans(SEXP vector) <br />
{ <br />
RcppVector<double> vec(vector); <br />
int n=vec.size(); <br />
double temp=vec(n-1); <br />
vec(n-1)=vec(0); <br />
vec(0)=temp; <br />
RcppResultSet rs; <br />
rs.add("result",vec); <br />
return rs.getReturnList(); <br />
}
然后把Rcpp包的源代码文件拷到同一个目录下,在cmd中输入
R CMD SHLIB myfun.cpp
之后就可以得到dll文件了。在R中输入
dyn.load("myfun.dll"); <br />
.Call("ans",c(1,2,3,4,5))
试试看结果。