C++ R内部:从SEXP对象提取函数指针
有没有办法从SEXP对象中提取C风格的函数指针C++ R内部:从SEXP对象提取函数指针,c++,c,r,C++,C,R,有没有办法从SEXP对象中提取C风格的函数指针 这几乎就是我想要的。f.check的主体从R传递到C,然后用eval调用。因为我在CUDA内部工作,所以我不能以这种方式调用SEXP对象上的eval,也不能直接使用函数输入Rcpp。我必须解压SEXP中的原始函数指针并将其传递给CUDA内核。GPU只能运行由专门为该体系结构设计的代码组成的内核。我对CUDA知之甚少,但我认为其原理与OpenCL相同,OpenCL相当于C语言,具有处理GPU内存和并行架构的API。你不能只在GPU中运行R或C++代码
这几乎就是我想要的。
f.check
的主体从R传递到C,然后用eval
调用。因为我在CUDA内部工作,所以我不能以这种方式调用SEXP对象上的eval
,也不能直接使用函数
输入Rcpp
。我必须解压SEXP中的原始函数指针并将其传递给CUDA内核。GPU只能运行由专门为该体系结构设计的代码组成的内核。我对CUDA知之甚少,但我认为其原理与OpenCL相同,OpenCL相当于C语言,具有处理GPU内存和并行架构的API。你不能只在GPU中运行R或C++代码。指针只会给出一个卡在GPU中的数字。您不能从GPU调用主存中的函数。我一定很困惑。你想要一个指向R函数的指针,但是我不知道在你的GPU里面是怎么有用的。我只是意识到指向R闭包可能不起作用,但是如果有某种方法从代码“> RCPP::CPPPoals”的输出中提取C++函数指针,那可能会更好。我的总体目标只是在R中指定一个函数,然后在CUDA内核中对其求值。