【发布时间】:2021-12-30 14:57:32
【问题描述】:
使用字符串 arg 在单个源上调用 clCreateProgramFromSource 会设置 #included 字符数组段错误的地址,但将数组作为字符指针数组的元素传入。
#include "prog_src.h"
const char *cl_srcs[1];
cl_srcs[0] = prog_src_cl;
cl.prog = clCreateProgramWithSource(cl.context, 1, cl_srcs, NULL, &err);
puts("test0");
cl.prog = clCreateProgramWithSource(cl.context, 1, &prog_src_cl, NULL, &err);
puts("test1");
“test0”将打印,然后程序段错误,我不确定为什么它不适用于第二个版本,prog_src_cl 是文件#included 中的无符号字符*。
任何帮助都将不胜感激,因为我似乎无法理解为什么如此看似微不足道的事情无法按预期工作。
【问题讨论】: