CUDA常见问题之无法在c文件中调用cu文件中定义的函数
2013-10-14 09:54
1431 查看
当在C源文件中调用cu文件中定义的函数时,会出现undefined reference的问题,而在C++源文件中调用cu文件中定义的函数时则不会出现这个问题。
出现上述问题的原因是,nvcc编译器采用的是C++的编译规则,而C和C++对函数名的编译规则不同。
要解决上述问题,只需要在cu文件中定义的函数前加上extern "C"即可,这样nvcc编译器就会按照C的编译规则来编译该函数了。
由此我们需要谨记,cu文件类似于C++的源文件,而不是C的源文件。
出现上述问题的原因是,nvcc编译器采用的是C++的编译规则,而C和C++对函数名的编译规则不同。
要解决上述问题,只需要在cu文件中定义的函数前加上extern "C"即可,这样nvcc编译器就会按照C的编译规则来编译该函数了。
由此我们需要谨记,cu文件类似于C++的源文件,而不是C的源文件。
相关文章推荐
- CUDA常见问题之无法在c文件中调用cu文件中定义的函数
- CUDA 问题解决 ——在 c 文件中调用 cu 文件中定义的函数失败
- PHP中被调用的PHP文件中有函数则调用文件里不能重复定义的问题
- C++继承时子类定义同名成员变量时的调用继承函数的问题
- Linux内核模块导出后无法调用问题解决(模块间函数调用通讯)
- 关于JS中setTimeout()无法调用带参函数问题的解决方法
- 文件搭建后找不到变量/函数定义问题
- codeblock无法编译,提示函数没有定义,但是函数已经 在头文件中定义了
- SDL项目常见问题( error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用)
- 在.c文件中调用cuda函数
- 在源文件中搜收特定函数在哪个文件中被定义及被哪些文件调用
- java 解决调用c语言实现简单HelloWorld函数生成.dll动态链接库的32位dll文件无法在64位机上运行
- 调用javascript遇到奇怪的“函数未定义”问题
- 绑定服务遇到的问题,绑定后无法调用其中的数据和函数
- matlab 函数调用和定义的问题
- zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法
- 使用SiteMesh(2.4.2) ,被装饰页面导入的外部js文件无法调用的问题
- Linux常见文件系统操作命令、进程调用命令、进程控制C函数、时间函数
- 在.c文件中调用cuda函数
- cpp文件调用CUDA .cu文件实现显卡加速相关编程