gpt4 book ai didi

c - GPU_FFT : in unmpamem: control reaches end of non-void function

转载 作者:行者123 更新时间:2023-11-30 18:13:31 26 4
gpt4 key购买 nike

与 gpu_fft 库一起编译的代码会抛出以下错误:

错误:

mailbox.c: In function 'unmapmem':
mailbox.c:77:1: warning: control reaches end of non-void function [-Wreturn-type]

使用代码:

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <math.h>
#include <time.h>

#include "mailbox.h"
#include "gpu_fft.h"

int main(){
struct GPU_FFT *fft;
int m, l, d, j, k, i;
m = mbox_open();
l = 8; //length
d = GPU_FFT_FWD; //direction
j = 500; //jobs
k = 255; //loops
float data[k];

for (i=0; i<k; i++){
data[i] = i*0.00247;
printf("data[%d] = %f\n", i, data[i]);
}

float *dat;
gpu_fft_prepare(m, l, d, j, &fft);

dat = &data[8];

for(i=0; i<k; i++){
fft = (struct GPU_FFT *) &dat;
gpu_fft_execute(fft);
printf("data[%d] = %f, out = %d\n", i, data[i], fft);
}


gpu_fft_release(fft);
return 0;
}

首先,我知道其中包含一些我在这里不使用的库,它们供将来使用。任何想法将不胜感激!

最佳答案

mailbox.c 文件未正确写入。查看 unmapmem() 的函数原型(prototype)。它有一个 void* 返回类型,但从不返回任何东西!看起来开发人员从以前的函数中复制/粘贴了函数原型(prototype),但忘记删除星号。这就是编译器针对该文件中的第 77 行向您发出警告的原因。

编辑添加:看来开发人员从来不想从 unmapmem() 返回任何内容。您应该只需将返回类型更改为 void(即删除星号)即可。

此外,请务必就该错误联系mailbox.c 文件的开发者。

关于c - GPU_FFT : in unmpamem: control reaches end of non-void function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com