25 十一月 2022
25 十一月 2022
程序端
MQL5
//--- 在获得最后一个错误代码时,将忽略第一个句柄参数
int code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);
//--- 获得最后一个OpenCL错误的代码
int code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);
string desc; // 要获得错误的文本描述
//--- 使用错误代码来获得错误的文本描述
if(!CLGetInfoString(code,CL_ERROR_DESCRIPTION,desc))
desc = "cannot get OpenCL error description, " + (string)GetLastError();
Print(desc);
//--- 要在没有接收代码的情况下获取最后一个OpenCL错误的描述,请传递CL_LAST_ERROR
if(!CLGetInfoString(CL_LAST_ERROR,CL_ERROR_DESCRIPTION, desc))
desc = "cannot get OpenCL error description, " + (string)GetLastError();
Print(desc);
内部枚举名称作为错误描述传递。其解释可显示在https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS。例如,CL_INVALID_KERNEL_ARGS值意味着“在某些内核参数未设置或无效时,在对内核进行排队时返回。”