我正在学习OpenCl编程指南中的HelloWorld示例,当我尝试运行这个函数(clSetKernelArg)时,我一直获得EXC_BAD_访问权限。我的功能基本上是。。。
clSetKernelArg(mKernel, 0, sizeof(cl_mem), mMemObject[0]);
在调试器中,所有内容看起来都是实例化的。括号里没有空的,我完全没主意了。任何帮助都将不胜感激。
最佳答案
如果您正在经历一个OpenCL Hello World示例,我几乎可以肯定您没有
cl_mem * mMemObject[foo]
这将是唯一使mMemObject[0]声明合法的事情。EXC_BAD_ACCESS意味着您正在取消对无效指针的引用,这意味着您的mMemObject只是cl_mem。
如果您仅使用clúmem mMemObject声明mMemObject,则此操作有效:
clSetKernelArg(mKernel, 0, sizeof(cl_mem), &mMemObject);
关于c++ - clSetKernelArg抛出EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22490090/