2011-11-19 57 views
2

我正在开发Minix 3上的一些东西,并且在处理io文件时,我遇到了问题。 在代码:Minix 3 stdio.h无法识别FILE * f

#include <stdio.h> /* If I don't call any stdio funcs compiler doesnt's complain*/ 
int main() { 
    FILE * fp; /* I get the following: " * not expected " */ 
    return 0; 
} 

已经尝试过,在我脑海中的一切,不能图了..

/编辑/ 从我可以告诉,当我有一些东西,如果我调用与结构不相关的函数,那没关系。它是结构吗?

+0

这是整个代码,你有吗?或者还有更多? –

+0

如果你添加'int main(){return 0; }'在这些行之后,并且只尝试编译这个,你还会得到这个错误吗? –

+0

是的,这个代码主要是.. – ikyr9999

回答

1

我假定您已经检查过Minix文件是否存在,它确实定义了类型FILE,并且您的包含路径向编译器提供了正确的-I选项以查找该文件。

根据您的环境,可能会出现环境变量INCLUDE存在并被您的编译器识别为提供额外的包含路径,甚至在命令行中包含选项之前就可以识别。在这种情况下,可能会碰巧包含来自不同编译器的stdio.h。已知Visual Studio默认提供这样一个环境变量,并且曾经让我咬过一次。

编辑:单独运行预处理器可能有助于找出在任何情况下真正发生的情况。验证FILE是在文件的预处理版本中定义的。