OpenCL:尝试打印sizeof(cl_int *)会产生分段错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCL:尝试打印sizeof(cl_int *)会产生分段错误相关的知识,希望对你有一定的参考价值。

我是OpenCL的新手,想要检查其不同数据类型的大小,但是尝试打印sizeof cl_int *会产生分段错误。我找不到合乎逻辑的理由。

#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <CL/opencl.h>
void main(){
cl_int a;
printf("size:%d
",sizeof(size_t));
cl_int num = 10;
printf(sizeof(cl_int *));
exit(0);
//cl_int *data,*data_2,*data_3 = (cl_int *)malloc(num*sizeof(cl_int));
printf("Done!");
}
答案

你似乎忘了printf的格式尝试这样的事情:

cl_int num = 10;                                                                                                                                                                                                                                                                          
printf("[%d]
",sizeof(cl_int));                                                                                                                                                                                                                                                          
printf("[%d]
",sizeof(num)); 

以上是关于OpenCL:尝试打印sizeof(cl_int *)会产生分段错误的主要内容,如果未能解决你的问题,请参考以下文章

opencl程序内核

让 printf 语句在 openCL 内核代码中工作

全局设备变量 OpenCL

将 YUV 数据转换为 Image 格式 Opencl

在 C / openCL 中寻址向量元素

OpenCL - clCreateBuffer大小错误。可能的工作?