LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1243|回复: 8

Gcc 4.0新语法不适应中,请教编译问题

[复制链接]
发表于 2006-10-6 10:05:28 | 显示全部楼层 |阅读模式
以前是RH中进行C语言学习的 使用的是GCC3.2.2
今天安装了UBUNTU最新的6.0  内置的是GCC4.0版本

以前惯用的  gcc -o sh01.o sh01.c 在4.0的版本里总是报错
不知道在4.0里相应的语法是什么,网上还没有看到详细的说明文档  

请教各位高手了
发表于 2006-10-6 10:22:45 | 显示全部楼层
gcc -c sh01.o sh01.c?
gcc -o sh01 sh01.c?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-6 10:24:11 | 显示全部楼层
楼上的朋友  到底用哪一个?
回复 支持 反对

使用道具 举报

发表于 2006-10-6 10:25:06 | 显示全部楼层
呵呵,输出不同,仔细看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-6 10:35:19 | 显示全部楼层
我在4.0上用的也是 gcc -o sh01.o sh01.c 结果老是报错 说“隐式声明于内建函数‘printf’不兼容”  用gcc -w sh01.c就是正常的  可以编译a.out的执行文件
回复 支持 反对

使用道具 举报

发表于 2006-10-6 10:54:18 | 显示全部楼层
你不会是没有include <stdio.h>吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-6 11:37:22 | 显示全部楼层
OH My God!!!  我去看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-6 12:00:07 | 显示全部楼层
晕  以前我在RH上的GCC3.2.2中进行练习的时候 很少会加上#clude <stdio.h>
我刚开始学习C语言没多久  希望各位多多指点
回复 支持 反对

使用道具 举报

发表于 2006-10-7 15:06:25 | 显示全部楼层
Post by 地震调音师
晕  以前我在RH上的GCC3.2.2中进行练习的时候 很少会加上#clude <stdio.h>
我刚开始学习C语言没多久  希望各位多多指点

在C89中,如果函数在调用之前没有显示声明(定义可以当做声明)的话,那么编译器会提供一个隐式的函数声明
extern int function_name(void)
在C99/C++中,每个函数在调用之前都必须显式声明,编译器不提供隐式的函数声明
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表