C语言中,main.c/mat.c/main.h/test.c四个文件是如何关联,相互调用的? 高手来,回答好的给双倍的分!

main.h作为函数的头文件,一般定义的是函数的声明,枚举,结构体,共同体,#define文件编译,extern等,而mat.c多半放的是函数的试题和功能的定义,cons... main.h作为函数的头文件,一般定义的是函数的声明,枚举,结构体,共同体,#define文件编译,extern等,而mat.c多半放的是函数的试题和功能的定义,const等,test.c就不用说了,而作为函数的入口,首先从.c进入,然后里面有很多的函数,而.c的开头是有main.h文件包的包含,那我想问,难道main.c只要包含.h,不用包含mat.c的文件就可以直接调用里面的函数等了么?
高手能否把这四个文件的相互关系描述一下,本人感激不尽,见解独到的定当双倍给分!拜托了!
展开
 我来答
book_tao
2012-02-22 · TA获得超过119个赞
知道答主
回答量:70
采纳率:0%
帮助的人:60.8万
展开全部
建议看《程序员的自我修养》一书。编译,链接过程讲的很仔细
百度网友44fea63a2
2012-02-22 · 超过23用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:59.8万
展开全部
其实多文件编译挺简单的,用VC举例吧,新建一个工程,再新建文件,main.h,main.c
编译的时候,编译器会在源文件中寻找主函数作为用户入口点.所谓头文件,其实命名什么的不一定要跟源文件同名.头文件的主要作用是声明,一些函数,他的实现可能在其他源文件中,只要包含了它的头文件,源文件在工程里面都能编译的,不需要再到原文件中用include函数所在的源文件.
举个简单的例子:
新建一个工程,里面含有四个文件,分别问test.h test.c main.c main.h
//////////////////////////////////////////////
//test.h内容
#include <stdio.h>
void test(); //声明函数
///////////////////////////////////////////////
//test.c内容
void test()
{
printf("test\n");
}
///////////////////////////////////////////
//main.h 内容
#include <stdio.h>
////////////////////////////////////////
//main.c内容
#include main.h
#include test.h
int main()
{
test();
}
///////////////////////////////////////////
如上就可以编译的,因为main.c 里面调用了test(),要用include包含其声明就可以了,test()的函数实现在test.c中,由于已经加入项目中了,编译器会自动帮你做这部分的事情
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式