Compilation OpenCL,包括文件

Compilation OpenCL,包括文件,compilation,opencl,header-files,specifications,Compilation,Opencl,Header Files,Specifications,之后,, 如果我有头文件,其中包含一些函数实现,应该包含在几个内核中(我的意思是这些函数在所有内核中都是辅助的,我不想重复代码) 我是如何做到这一点的?我能把函数保存在头中吗?内核和头函数会被编译吗 您能否指定(可能通过示例)在这种情况下如何使用“-I”选项? 我正在使用VS2010(如果有问题的话) 注意:每个内核都在不同的程序中运行是的,您可以在OpenCL中使用头文件来实现您的建议。每个内核文件都将包含头文件并对其进行编译 “-I”选项仅用于指定包含的路径。如果您的include在工作目录

之后,, 如果我有头文件,其中包含一些函数实现,应该包含在几个内核中(我的意思是这些函数在所有内核中都是辅助的,我不想重复代码)

我是如何做到这一点的?我能把函数保存在头中吗?内核和头函数会被编译吗

您能否指定(可能通过示例)在这种情况下如何使用“-I”选项? 我正在使用VS2010(如果有问题的话)


注意:每个内核都在不同的程序中运行

是的,您可以在OpenCL中使用头文件来实现您的建议。每个内核文件都将包含头文件并对其进行编译

“-I”选项仅用于指定包含的路径。如果您的include在工作目录中,则不需要。以下是一个例子:

/////////////////////////////////////////////////////////////////
// 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/");