在 gcc 中,close 函数用于关闭文件指针。但是我的 nvcc 编译器不允许这样做。我似乎找不到特定于 cuda 的调用或别名。
是否有一个特殊的 cuda 文件指针关闭?
这是我得到的错误。error: identifier "close" is undefined
对于这个简单的代码;FILE* fp = fopen(filename,"r");
if(fp == NULL)
{
return NULL;
}
close(fp);
最佳答案
当 NVCC 编译您的 .cu
文件,它将文件的 C/C++ 部分的编译委托(delegate)给您的 native C/C++ 编译器(在您的情况下为 gcc )。所以,错误来自gcc。
您需要检查为什么 gcc 会为此文件中的代码产生此错误。很可能,您没有在 close()
的位置包含必要的头文件。已定义,unistd.h
.或尝试 fclose()
正如另一位评论者所建议的那样。
https://stackoverflow.com/questions/5655353/
相关文章:
apache-flex - 将 Flex 从 3.2 升级到 4.5 - 错误和警告
visual-studio-2010 - 为Android编译C++项目时权限被拒绝
iphone - 调试版本工作,发布版本失败-llvm-gcc-4.2失败,退出代码为1
eclipse - 无法在 Eclipse 中导入 Appengine 模块
c# - VS2010 C#WPF应用程序: New WPF Project Cannot Call
compilation - 在 CentOS 6.0 上编译单声道时 undefined refer