4
继post, 如果我有头文件,其中有一些函数实现它应该包含在几个内核中(我的意思是这些函数在所有内核中都是辅助的,我不想复制代码)OpenCL,包含文件
我如何使这个包含 - 我可以保持头部中的函数吗?将内核和头函数编译?
你可以指定(也许通过例子)我在这种情况下如何使用“-I”选项? 我使用VS2010(如果它在所有问题)
注:每个内核不同的程序运行
继post, 如果我有头文件,其中有一些函数实现它应该包含在几个内核中(我的意思是这些函数在所有内核中都是辅助的,我不想复制代码)OpenCL,包含文件
我如何使这个包含 - 我可以保持头部中的函数吗?将内核和头函数编译?
你可以指定(也许通过例子)我在这种情况下如何使用“-I”选项? 我使用VS2010(如果它在所有问题)
注:每个内核不同的程序运行
OpenCL中为你的建议什么是的,你可以使用头。每个内核文件将包含头文件并编译它。
“-I”选项仅用于指定包含路径。如果您的包含在您的工作目录中,则不是必需的。这里是一个例子:
/////////////////////////////////////////////////////////////////
// Load CL file, build CL program object, create CL kernel object
/////////////////////////////////////////////////////////////////
std::string sourceStr = FileToString(params.kernelFile);
cl::Program::Sources sources(1, std::make_pair(sourceStr.c_str(), sourceStr.length()));
cl::Program program = cl::Program(oclHandles.context, sources);
program.build(oclHandles.devices,"-I c:/Includes/");