gcc编译两个文件的问题

一个是函数文件b.c,一个是主文件a.c,用了#include包含了函数b.c文件,用gcc-oa.outa.cb.c出错,不编译b时候,是对的,难道这中情况下,只需要编... 一个是函数文件b.c,一个是主文件a.c,用了#include包含了函数b.c文件,用gcc -o a.out a.c b.c出错,不编译b时候,是对的,难道这中情况下,只需要编译主文件嘛?如果不用#include包含函数文件的话,那又会怎么样呢? 展开
 我来答
百度网友1b374a1
推荐于2016-01-06
知道答主
回答量:1
采纳率:0%
帮助的人:2.4万
展开全部
是的,这种情况下,你只需要编译主文件就可以了。
#include 的作用相当于是将包含的文件的内容直接粘贴的#include的位置,即将多个文件连在一起后进行解析并编译。
如果不用#include包含函数文件,编译时你就需要用 gcc -o a.out a.c b.c进行编译了。
区别在于,如果在a文件中,定义一个static变量或者函数,如果使用#include方式,在b.c里面是可以引用的,因为#include会把a和b的内容连接在一起后进行编译;而如果不使用#include,在b.c中就访问不到a.c中的static变量或者函数。
另外,虽然可以运行,但编程中最好养成良好的习惯,不要在c文件中#include其他的c文件。
希望对你有用。
追问
还有好多问题要问,但是还要自己去尝试,从你写的这段话中,可以看出你是个高手。有空会多向你求教的。
百度网友306f97b
2013-11-10 · 超过19用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:51.7万
展开全部
肯定两个都要编译的,估计是你b.c里面写错了,编译出错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式