Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCL:尝试打印sizeof(cl_int*)会导致分段错误_C_Segmentation Fault_Opencl - Fatal编程技术网

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

OpenCL:尝试打印sizeof(cl_int*)会导致分段错误,c,segmentation-fault,opencl,C,Segmentation Fault,Opencl,我是OpenCL的新手,希望检查其不同数据类型的大小,但试图打印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\n",sizeof(size_t));

我是OpenCL的新手,希望检查其不同数据类型的大小,但试图打印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\n",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!");
}
#包括
#包括
#包括
#包括
#包括
void main(){
cl_INTA;
printf(“大小:%d\n”,大小f(大小t));
cl_int num=10;
printf(sizeof(cl_int*);
出口(0);
//cl_int*数据,*数据_2,*数据_3=(cl_int*)malloc(num*sizeof(cl_int));
printf(“完成!”);
}

您似乎忘记了printf的格式 试着这样做:

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

printf
需要一个格式字符串作为第一个参数。显示的代码是否编译为无警告的,即使您使用了严格的警告?请解释您打算用这一行实现什么,以及如何理解语法<代码>printf(“%d”,sizeof(cl_int*)。谢谢,现在它可以正常工作了。如果您能告诉我更多有关发生此错误的原因,那将非常好。请不要编辑问题中的代码以使注释/答案无效。这对于未来的访问者/用户来说是非常混乱的。这仍然是未定义的行为,错误的格式说明符它的长整型和整型。而数字小于10