本文介绍了加入CUDA字符数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在CUDA加2字符数组,但没有什么工作。
我试图用
字符临时[32];
的strcpy(温度,my_array);
strcat的(温度,my_array_2);
当我用这个内核 - 我得到错误:调用从__global__函数(过程)一__host__功能(strcpy的)是不允许
在此之后,我试着在主机使用这些功能,而不是内核 - 没有错误,但加入后我收到奇怪的符号,比如ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ
所以,我怎么能在 CUDA
?
解决方案
write your own functions:
__device__ char * my_strcpy(char *dest, const char *src){
int i = 0;
do {
dest[i] = src[i];}
while (src[i++] != 0);
return dest;
}
__device__ char * my_strcat(char *dest, const char *src){
int i = 0;
while (dest[i] != 0) i++;
my_strcpy(dest+i, src);
return dest;
}
And while we're at it, here is strcmp
这篇关于加入CUDA字符数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!