在gcc中,close函数用于关闭文件指针。但是我的nvcc编译器不允许这样做。我似乎无法找到cuda特定的电话或别名。
是否有特殊的cuda文件指针关闭?
这是我得到的错误。
error: identifier "close" is undefined
对于这个简单的代码;
FILE* fp = fopen(filename,"r");
if(fp == NULL)
{
return NULL;
}
close(fp);
答案 0 :(得分:0)
当 NVCC 编译您的.cu
文件时,它会将文件的C / C ++部分的编译委派给您的本机C / C ++编译器( gcc 在你的情况下)。所以,错误来自gcc。
您需要检查gcc为此文件中的代码产生此错误的原因。最有可能的是,您没有在close()
定义的unistd.h
中包含必要的头文件。或者按照其他评论者的建议尝试fclose()
。