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