在ubuntu下使用ansi-c和gcc的初学者问题/错误

时间:2010-04-26 11:40:00

标签: gcc ubuntu path linker ansi

我刚刚开始使用uccntu(9.04)下的gcc编程ansi c。我收到以下错误消息:

错误消息:

main.c:6: error: expected identifier or ‘(’ before ‘/’ token
In file included from /usr/include/stdio.h:75,
                 from main.c:9:
/usr/include/libio.h:332: error: expected specifier-qualifier-list before ‘size_t’
/usr/include/libio.h:364: error: expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/libio.h:373: error: expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/libio.h:493: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘_IO_sgetn’
In file included from main.c:9:
/usr/include/stdio.h:314: error: expected declaration specifiers or ‘...’ before ‘size_t’
/usr/include/stdio.h:682: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fread’
/usr/include/stdio.h:688: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fwrite’
main.c:12: error: expected identifier or ‘(’ before ‘/’ token

我认为这是一个非常简单的问题,可能是在ubuntu或gcc的配置中。我也是linux下编程的新手。我用Google搜索了一下tutorial,却找不到答案。谢谢!

代码:

/* cheat with the preprocessor to skip over missing lines to attempt
   to duplicate the circumstance of the original code */
#line 9
// #include <some_random_header.h>
#include <stdio.h>
#include <math.h>    
int main(int argc, char **argv)
    {
     printf("TestOutput\n");

     return (0);
    }

命令:

~/Documents/projects/Trials$ gcc -Wall -ansi  main.c 

2 个答案:

答案 0 :(得分:3)

您是否确定您展示的代码是您实际编译的代码?你得到错误:

main.c:12: error: expected identifier or ‘(’ before ‘/’ token

但代码实际上并没有12行。

答案 1 :(得分:1)

我用“//”来评论ansi-c不喜欢的行。 谢谢大家的投入!