Debugging 什么';OpenCL中错误代码的perror()等价物是什么?

Debugging 什么';OpenCL中错误代码的perror()等价物是什么?,debugging,osx-snow-leopard,opencl,Debugging,Osx Snow Leopard,Opencl,如果我有类似于: err = clEnqueueReadBuffer(cmdQueue, output, CL_TRUE, 0, sizeof(float) * data_sz, &results, 0, NULL, NULL); 我想做: if (err != CL_SUCCESS){ perror("Read Failed!"); } 但是perror()不知道诸如“CL_HOST_OUT_OF_MEMORY”之类的错误常量(可以理解) 我可以对与opencl相关的.h文

如果我有类似于:

err = clEnqueueReadBuffer(cmdQueue, output, CL_TRUE, 0, sizeof(float) * data_sz, &results, 0, NULL, NULL);
我想做:

if (err != CL_SUCCESS){
    perror("Read Failed!");
}
但是perror()不知道诸如“CL_HOST_OUT_OF_MEMORY”之类的错误常量(可以理解)


我可以对与opencl相关的.h文件进行灰显,但这不是一个理想的解决方案。我愿意接受任何其他方便的方法来追踪错误号码。我在OSX雪豹(包括以防万一,但我认为这并不相关)

< P>如果你有英伟达OpenCL SDK,那么你可以使用OcReTiLs提供的<代码> OCR(或Oracle)< /C>函数。我最终以
gluErrorString()
的风格编写了自己的。我只是将所有的
cl_错误
代码粘贴到一个文件中,并在Emacs中处理每一行,将其转换为switch语句中的一组案例(以允许不连续的条目),该语句返回常量字符串。这很简单,也很有用。如果你愿意,我可以把它贴在某个地方。

你能把这个功能贴出来吗?我将不胜感激。