gcc #include与多文件编译

福娃服务 2013-11-20 07:39:34
最近一个问题显得越来越重要,以前没怎么注意,说明我并没有真正理解。
现在编C程序,要求分成多个文件,比如我的主程序main中,可以用#include包含函数文件func.c,而func.c文件中,又可以包含函数原型声明func.h头文件。也就是说,应该可以无限用#include将各文件关系理清,那么编译的时候只要输入:cc main.c就行了。
那么这样一来,多文件编译用在什么地方呢?举个例子:cc main.c other.c,请详细说明,说清楚点

这个问题的答案应该是:不推荐在一个.c文件中包含另一个.c文件。这样的答案没问题吧?另一个问题如下。
如果我两个.c文件中都要用到同一个宏,比如#define MAX 1000,那么#define MAX 1000这句话应该被写在哪一个文件中呢,是不是两个文件都要写?
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2013-11-20
  • 打赏
  • 举报
回复
一般都是丢在头文件里,然后包含头文件就好的!头文件加 重定义保护的! 如果多处用到的宏的话,最好也放在共用的头文件里面的! 至于多文件编译的话,可以看看makefile的基本规则依赖关系
netbooting 2013-11-20
  • 打赏
  • 举报
回复

max.h
福娃服务 2013-11-20
  • 打赏
  • 举报
回复
好了我已经知道了,不过说说你们的答案验证一下也无所谓

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧