Я пытаюсь собрать и связать .c и .CU файлы и я получаю предупреждениеКомпиляция и компоновка чистого C и CUDA код [предупреждение: неявная декларация функции]
warning: implicit declaration of function
У меня есть функция в .cu-файл, который мне нужно вызвать из файла .c. Файл .c скомпилирован с использованием файлов gcc и .cu, скомпилирован с использованием nvcc-компилятора. Поскольку файл заголовка для файла .cu содержит встроенные типы данных cuda, я не могу включить это в файл .c. Я все еще могу скомпилировать и связать все файлы, но я хочу избавиться от предупреждения, которое я не могу. Базовая структура кода:
gpu.cu
void fooInsideCuda();
cpu.c
fooInsideCuda(); //calling function in gpu.cu
Любая помощь или предложение были бы высоко оценены.
На первый взгляд вы можете просто использовать 'extern void fooInsideCuda (void);' либо в 'cpu.c', либо в заголовке, который он включает. В идеале заголовок (возможно, новый) будет использоваться в 'gpu.cu', а также в' cpu.c' для обеспечения перекрестной проверки. –