Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ R内部:从SEXP对象提取函数指针_C++_C_R - Fatal编程技术网

C++ R内部:从SEXP对象提取函数指针

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++代码

有没有办法从SEXP对象中提取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内核中对其求值。