Edd*_*his -1 arrays cuda char addition
我试图在cuda中添加2个char数组,但没有任何工作.我试着用:
char temp[32];
strcpy(temp, my_array);
strcat(temp, my_array_2);
Run Code Online (Sandbox Code Playgroud)
当我在内核中使用它时 - 我得到了 error : calling a __host__ function("strcpy") from a __global__ function("Process") is not allowed
在此之后,我尝试在主机中使用这些函数,而不是在内核中 - 没有错误,但是在添加之后我会得到奇怪的符号????????????????????????????????.
那么,我如何添加两个(或更多)char数组CUDA呢?
那么,我如何在CUDA中添加两个(或更多)char数组?
编写自己的函数:
__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;
}
Run Code Online (Sandbox Code Playgroud)
虽然我们在这,这里是strcmp