当前位置: 代码迷 >> CUDA >> CUDA常见有关问题之无法在c文件中调用cu文件中定义的函数
  详细解决方案

CUDA常见有关问题之无法在c文件中调用cu文件中定义的函数

热度:853   发布时间:2016-04-29 10:45:09.0
CUDA常见问题之无法在c文件中调用cu文件中定义的函数

当在C源文件中调用cu文件中定义的函数时,会出现undefined reference的问题,而在C++源文件中调用cu文件中定义的函数时则不会出现这个问题。

出现上述问题的原因是,nvcc编译器采用的是C++的编译规则,而C和C++对函数名的编译规则不同。

要解决上述问题,只需要在cu文件中定义的函数前加上extern "C"即可,这样nvcc编译器就会按照C的编译规则来编译该函数了。

由此我们需要谨记,cu文件类似于C++的源文件,而不是C的源文件。