【问题标题】:Close a file pointer in Cuda (nvcc)在 Cuda (nvcc) 中关闭文件指针
【发布时间】:2011-08-05 01:11:48
【问题描述】:

在gcc中,close函数用于关闭文件指针。但是我的 nvcc 编译器不允许这样做。我似乎找不到特定于 cuda 的调用或别名。

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

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

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

close(fp);

【问题讨论】:

  • 试试 fclose()。 Nvcc 没有触及代码,它正在使用您的主机编译器进行编译,并且错误和问题与 CUDA 无关。

标签: cuda compiler-errors nvcc


【解决方案1】:

NVCC 编译您的 .cu 文件时,它会将文件的 C/C++ 部分的编译委托给您的本机 C/C++ 编译器(gcc 在您的案子)。所以,错误来自 gcc。

您需要检查为什么 gcc 会为此文件中的代码产生此错误。很可能,您没有包含定义close() 的必要头文件unistd.h。或者按照另一位评论者的建议尝试fclose()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    相关资源
    最近更新 更多