【问题标题】:Minix 3 stdio.h doesn't recognize FILE *fMinix 3 stdio.h 无法识别 FILE *f
【发布时间】:2012-01-01 21:40:22
【问题描述】:

我正在Minix 3 上开发一些东西,当涉及到处理 io 文件时,我遇到了问题。 在代码中:

#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;
}

已经尝试了所有我想到的东西,无法弄清楚..

/编辑/ 据我所知,当我包含一些东西时,如果我调用与结构无关的函数,那没关系。是结构吗?

【问题讨论】:

  • 这是整个代码,你知道吗?或者还有更多?
  • 如果你在这些行之后添加int main() { return 0; } 并尝试只编译这个,你仍然得到错误吗?
  • 是的,这段代码在main..

标签: c stdio minix


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-14
    • 2016-03-05
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2014-01-25
    • 2015-09-28
    • 2016-05-13
    相关资源
    最近更新 更多