红联Linux门户
Linux帮助

Linux编程该带包含什么头文件

发布时间:2010-07-15 17:26:00来源:红联作者:wucongdonglai
今天我在fedora上编一个很简单C程序,结果编译不成功!问题简化了就是:
假设我的程序是a.c这样的:
#include
#include
int main()
{
printf("Welcome!\n");
return 0;
}
然后编译 gcc -g a.c -o a
结果他告诉我说Welcome是个没定义的函数,还有什么stray304什么的,我很是不明白,哪位大哥帮忙看看指点一下啊?跪求
文章评论

共有 11 条评论

  1. wucongdonglai 于 2010-07-19 08:28:16发表:

    10# 相思爱文
    这不是一样吗?

  2. kevin_freedom 于 2010-07-17 22:32:23发表:

    我怀疑是不是你的那个printf的括号或者引号是不是打成中文了,不然怎么会说你的Welcome是个没定义的函数!

  3. 相思爱文 于 2010-07-17 22:24:21发表:

    引用:
    我把楼主的代码手动键入一遍,保存,编译,运行,没问题……
    我从我上面的回帖中复制一遍代码,保存,编译,报错……

    我也一样

  4. wucongdonglai 于 2010-07-17 09:09:33发表:

    7# 绿色圣光
    哈,咱们两代码不是一样的嘛,就是编译方式不一样,不应该报错的啊

  5. wucongdonglai 于 2010-07-17 09:08:00发表:

    6# 相思爱文
    找到问题所在了,我那在fedora13下的vi编译器没有配置自己的参数,尤其是是用了vi自己的键盘模式,所以这"这双引号和一般模式下的不一样,导致编译器无法识别,所有就冒出来说welcome是新函数了!
    巨汗!
    竟然还有这样的问题!

  6. 绿色圣光 于 2010-07-17 08:35:36发表:

    引用:
    gcc version 4.3.2 (Debian 4.3.2-1.1)
    我运行没问题



    -g 可调试
    相思爱文 发表于 2010-7-16 20:56

    多谢指教。我竟然一直不知道这个。惭愧……

    我把楼主的代码手动键入一遍,保存,编译,运行,没问题……
    我从我上面的回帖中复制一遍代码,保存,编译,报错……
    :0wszxc

  7. 相思爱文 于 2010-07-16 20:56:16发表:

    gcc version 4.3.2 (Debian 4.3.2-1.1)
    我运行没问题

    引用:
    1. gcc -g a.c -o a
    我对这个很诧异~这是啥意思?


    -g 可调试

  8. wucongdonglai 于 2010-07-16 13:37:42发表:

    会不会和我的gcc编译器的环境设置有关!我基本上都是按默认的来了

  9. wucongdonglai 于 2010-07-16 13:35:25发表:

    2# 相思爱文
    我的那个程序编译出现的问题和我假设出现的问题一模一样。所有就把那个程序简化成这样了。
    今天我把同样的程序在redflag7下运行,说警告:隐式声明与内建函数“printf”不兼容!我的gcc版本是4.3.2 的。这是怎么回事呢?

  10. 绿色圣光 于 2010-07-15 21:47:55发表:

    [code]gcc -g a.c -o a[/code]我对这个很诧异~这是啥意思?[code]#include
    #include
    int main()
    {
    printf("Welcome!\n");
    return 0;
    }[/code]这么简单的一个小程序有必要 #include ?当然,这对程序本身不会产生啥影响……[code]gcc -o a a.c
    ./a
    Welcome![/code]

  11. 相思爱文 于 2010-07-15 20:18:58发表:

    别用假设,把实际例子(可以是简化的)列出,并写出结果。
    检查是否有拼写错误