OpenCL从cl_program转换为cl :: program

时间:2017-01-31 22:55:46

标签: c++ opencl

我一直在使用C ++绑定开发OpenCL项目,现在需要使用使用C OpenCL绑定编写的外部代码。要将C ++ OpenCL变量转换为C,我使用了()运算符,但似乎无法找到此变量。我需要转换的变量是cl_programcl::Program

// calling C OpenCL function with cpp member variables
cl_program programc = aocl_utils::func(m_context(), binary_file.c_str(), &device(), 0);
// converting programc back to C++ OpenCL
cl::Program program(&programc); // this doesn't work

1 个答案:

答案 0 :(得分:3)

使用构造函数创建对象。

cl::Program::Program    (   const Context &     context,
                            const vector< Device > &    devices,
                            const Binaries &    binaries,
                            vector< cl_int > *  binaryStatus = NULL,
                            cl_int *    err = NULL 
                        )   

或者使用此构造函数从cl_program转换。

cl::Program::Program    (   const cl_program &  program,
                            bool    retainObject = false 
                         )