大家晚上好呀,今天要给大家分享的是如何在一个项目里实现两个源文件调用或多个源文件调用。首先还是由一个题目入手。
这个题目有一定的难度,对于我来说,但是其实里面有个知识点我们昨天就讲过啦,可以借过来使用。还有求反序数的函数我们也已经分析过啦,在这里就不再重复讲述啦。
下面直接开始我们今天的重点,如何实现多源文件的调用。
1,简单版本:首先如果我们把要调用的函数放在另一个源文件里,就会导致一个项目有两个源文件,但是只能有一个main函数入口,然后再在main函数的开头加上要调用的函数定义就可以实现了调用
但是千万不要写成这样,模仿包含库函数的做法,直接#include<isprime>
这样会导致路径的问题,无法打开的,口说无凭,决定检验一下。
报错了,说重复定义。然后我们改为.h文件看看
仍然失败了,哈哈
所以要记得如果想要调用另一个源文件的话,可以像平常调用函数那样把另一个源文件的定义声明在开头。
第二种办法就是:如果我们要调用的函数有很多怎么办,难道也要一行一行定义吗?如果我们有一百多行就很麻烦了,而且主函数那个源文件也不好看。所以这时候我们就可以利用一个头文件,把要调用的函数名全写那里,然后就可以用#include的格式调用啦。
我们自定义的头文件用”“括起来,然后写头文件的标准就是,用调用哪个函数的源文件就用那个源文件的名字来命名,但是要把.c改为.h 。然后再把你要调用的函数名放进去,后面要加上分号;。这样就可以调用啦。
其实这种头文件的写法还是不够标准,然后我们可以把鼠标移到stdio.h文件的中间,然后右键,打开库函数,看看标准头文件怎么写,但是不要随便改哦,会出大问题的!!
可以看到,里面有很多条件编译,因为每次我们掉用这个头文件,里面的函数都会编译一遍,然后效率就会降低,所以我们加这个条件编译就会只调用和编译我们需要的部分,具体格式就是
#ifndef_ISPRIME_H //如果没有定义
#define _ESPRIME_H//如果有定义
函数体;
#endif//结束;
这就是一个标准的头文件啦。
好啦,今天的分享就到这里,我们明天见。
#