谁能帮我gcc编译一下这两个程序,结果是什么?谢谢!!!

[复制链接]
查看11 | 回复2 | 2013-1-11 17:04:05 | 显示全部楼层 |阅读模式
我来帮你试试吧。第一问:只单独编译one.c和two.c都没问题,但是综合起来编就有问题了,因为你的f函数前面加了static关键字,表明这个函数的使用范围是本文件,在别的文件是看不到这个函数的,所以,联编的时候,two.c里面引用了f函数,但是找不到这个函数,所以,编译报错。看图:把static关键字去掉就可以了,编译正常,由于没有用-o指定输出文件名,所以,默认输出a.out,在one.c里面去掉static关键字的结果:注意,编译之后,生成了a.out 第二问:同样,要在one.c里面把st...
回复

使用道具 举报

千问 | 2013-1-11 17:04:05 | 显示全部楼层
我没有编译但我知道有编译错误。为什么,因为在one.c中,你把函数声明为static,静态函数是无法在外部extern暴力引用的。如果是VC,一定会告诉的无法解析的外部符号。eclipse应该也是unsolved symbol。...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行