main.cpp:
extern "C" bool runTest(const int argc, const char **argv,
char *data, int2 *data_int2, unsigned int len);
//在主程序里使用extern "C"将.cu函数扩展到所有文件可用
cppIntegration.cu:
//cpp扩展进入.cu的方法
extern "C" void computeGold(char *reference, char *idata, const unsigned int len);
extern "C" void computeGold2(int2 *reference, int2 *idata, const unsigned int len);
//定义的.cu模块
extern "C" bool
runTest(const int argc, const char **argv, char *data, int2 *data_int2, unsigned int len)
{
//do ...
}
cppIntegration_gold.cpp:
extern "C"
void computeGold(char *reference, char *idata, const unsigned int len);
extern "C"
void computeGold2(int2 *reference, int2 *idata, const unsigned int len);
//在这个文件中定义.cu调用的两个c++函数
总的来说,要想要让.cu文件中的函数和.cpp中函数相互使用,则需要在函数声明的前面加上extern "C"来将该函数扩展至所有
编译过程: