编译警告



  • 0_1532608929332_e58ee9c8-f559-4f2e-b58f-26b9baf32210-image.png 这编译报错,请问一下是什么原因?怎么修改?还有在运行中,while(get_reply!=50)出不来。请问一下这两者有联系吗?



  • int athread_get(dma_mode mode, 
                       void *src, void *dest, int len, void *reply, 
                       char mask,int stride,int bsize)
    

    接口中的srcdestreply参数类型为void *,而我们实际传进来的参数可能是float *double *int *,所以就会出现warning

    可以把传进来的参数通过(void *)进行强制转换,这样可以消除警告

    50个athread_get,感觉有点炸啊~~



  • 老师,请问一下像A[100][100][100]的数组,想传A[1][0-99][0-99]传输可以直接一个athread_get吗?还是必须100个athread_get传输A[1][?][0-99]?



  • 静态数组(一维、二维、三维,....)在内存中是一个连续的内存块,只要在athread_get中指明该内存块的首地址、字节大小,那么就可以把整个数组取得从核LDM

    athred_get(...,&A[1][0][0],..., 100 * 100 * sizeof(...),....)
    

    可以把A[1][0-99][0-99]取到从核LDM


Log in to reply