Я предлагаю вам создать файл заголовка, например, назвать его myFile.h
, там вы помещаете объявление функции только :
void myFunction(float* variable1,float* variable2);
Затем в вашем myFile.cu
вы помещаете определение функции:
void myFunction(float* variable1,float* variable2){
std::cout << "Hi! I'm a function!" << std::endl;
}
Наконец, вы должны включить заголовок в myFile.cu
и myFile.cpp
:
#include <cosFutStr.h>
Таким образом, вы получите определение функции в myFile.cu
и сможете вызывать myFunction
из myFile.cpp
.
Как сказано в комментариях talonmies, учитывая, что вы скомпилируете свои источники с помощью связи C ++, все будет правильно соединено без использования extern "C"
.
Но я думаю, что это больше вопрос C ++, чем вопрос CUDA.