c语言中多个文件的编译问题 10

例如有三个文件://文件1:a.h,内容如下:voidf();//文件2:a.c,内容如下:#include"a.h"voidf(){...}//文件3:main.c,内... 例如有三个文件:
//文件1:a.h,内容如下:
void f();
//文件2:a.c,内容如下:
#include "a.h"
void f() {...}
//文件3:main.c,内容如下:
#include "a.c"
void main() {f();}
这样编译时对的,但是如果main.c的头文件include的是"a.h",就编译不对了,这是为什么呢?
展开
 我来答
zjx20
2009-06-21 · TA获得超过114个赞
知道小有建树答主
回答量:64
采纳率:0%
帮助的人:0
展开全部
应该用vc之类的IDE建立工程,然后将所有文件添加进工程里,这样就可以写成include .h了。
具体原理我不清楚,我估计是IDE在编译时自动将.c的文件编译成库(library),再由.h头文件来“索引”这些函数
Laplas
2009-06-21 · TA获得超过1万个赞
知道大有可为答主
回答量:2680
采纳率:50%
帮助的人:2441万
展开全部
要将a.c添加到你的工程里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangzhe2291
2009-06-21 · TA获得超过691个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:473万
展开全部
void f();是一个函数声明
而在a.h中没有f这个函数,在main又调用了f,找不到函数 当然不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式