2011-04-13 72 views
1

在gcc中,关闭函数用于关闭文件指针。但是我的nvcc编译器不会允许这样做。我似乎无法找到特定于cuda的呼叫或别名。关闭Cuda中的文件指针(nvcc)

是否有特殊的cuda文件指针关闭?

这是我得到的错误。 error: identifier "close" is undefined

对于这个简单的代码; FILE* fp = fopen(filename,"r"); if(fp == NULL) { return NULL; }

close(fp);

+2

尝试fclose()。 Nvcc没有触及代码,它正在与主编译器一起编译,错误和问题与CUDA无关。 – talonmies 2011-04-13 20:50:07

回答

0

NVCC编译您.cu文件,它代表了C/C++文件的部分汇编到原生的C/C++编译器(GCC你的情况)。所以,错误来自gcc。

您需要检查gcc为此文件中的代码生成此错误的原因。最有可能的是,您没有在必要的头文件中包含close()unistd.h。或者尝试fclose()作为另一位评论者建议。