【求助】type specifier missing

愉快的编码时光_LZT 2014-10-23 01:26:33
我在编译Kernel是遇到这个问题,如图,type specifier missing是什么原因?

Kernel代码:


__kernel scan_blk( unsigned char* blk,unsigned char condition,unsigned char *result,unsigned char* result_num){

int result_num_of_one_thread;
unsigned char BLK_GENERAL_HEADER_SIZE ;
unsigned char BLK_ACCESS_INFO_HEADER_SIZE;
int result_position;
unsigned char data_length;
unsigned char * data_length_position;
unsigned char* valstart;
unsigned char * access_head;
unsigned char item_num;
result_num_of_one_thread=0;
BLK_GENERAL_HEADER_SIZE=28;
BLK_ACCESS_INFO_HEADER_SIZE=24;
blk=blk+32*1024*result_position;
access_head=blk + BLK_GENERAL_HEADER_SIZE ;
valstart = blk + BLK_GENERAL_HEADER_SIZE + BLK_ACCESS_INFO_HEADER_SIZE;
data_length_position=access_head+32;
item_num=(short) data_length_position;
data_length_position=access_head+32+16;
data_length=(unsigned short)*data_length_position;
result_position=get_global_id(0);
result=result+32*1024*result_position;
switch(data_length){
case 8:
for(int i=0;i<item_num;i++){
if(*((char*)valstart+i)==*((char*)(condition))){
result_num_of_one_thread++;
*result=*(blk+32*1024-i*8);
result++;
}
}
case 16:
for(int i=0;i<item_num;i++){
if(*((short*)valstart+i)==*((short*)(condition))){
result_num_of_one_thread++;
*result=blk+32*1024-i*16;
*(result+1)=*(blk+32*1024-i*16-8);
result+=2;
}
}
break;
case 32:
for(int i=0;i<item_num;i++){
if(*((int*)(valstart)+i)==*((int*)(condition))){
result_num_of_one_thread++;
for(int j=0;j<4;j++){
*result=*(blk+32*1024-i*32-j*8);
result++;
}
}
}
break;
}
*(result_num+result_position)=result_num_of_one_thread;
}
...全文
1604 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
outstander 2014-11-05
  • 打赏
  • 举报
回复
引用 5 楼 DR_TITI 的回复:
[quote=引用 3 楼 fronteer 的回复:] Condition 这个高参数怎会是 Unsigned Char ? 应该是 Unsigned Char * 吧?
你说的对,我已经改过了。[/quote] 问题解决了吗?是fronter讲的问题么?
  • 打赏
  • 举报
回复
引用 3 楼 fronteer 的回复:
Condition 这个高参数怎会是 Unsigned Char ? 应该是 Unsigned Char * 吧?
你说的对,我已经改过了。
  • 打赏
  • 举报
回复
引用 1 楼 outstander 的回复:
没写返回值类型?请在返回值上写上void试试。


能不能再麻烦你一下,现在改过之后又出现新的问题:



这是为什么?
fronteer 2014-10-24
  • 打赏
  • 举报
回复
Condition 这个高参数怎会是 Unsigned Char ? 应该是 Unsigned Char * 吧?
  • 打赏
  • 举报
回复
引用 1 楼 outstander 的回复:
没写返回值类型?请在返回值上写上void试试。
是这个问题,谢谢。
outstander 2014-10-23
  • 打赏
  • 举报
回复
没写返回值类型?请在返回值上写上void试试。

603

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧