您的位置:首页 > 编程语言 > C语言/C++

【C语言】多文件编程

2017-07-29 21:23 274 查看
1、多文件编程,一个文件可以有多个函数,但是一个函数最多一个文件

2、多文件编程的步骤:

• 把所有函数分散在多个文件中,通常主函数在单独的文件里

• 为每个源文件编写一个配对的以.h作为扩展名的头文件,主函数所在的不需要,不分配内存的内容都可以写在头文件里,头文件里至少要包含配对源文件里所有函数的声明

• 在所有源文件里使用#include预处理指令包含所需要的头文件,配对头文件是一种需要的头文件,如果源文件里声明了头文件里声明的函数,也是需要的头文件

3、在GCC命令后列出所有源文件的路径就可以编译多文件程序

eg:lxl@ubuntu:~/day/day14$ gcc text1.c text1-1.c


4、可以把多文件程序的编译过程记录在Makefile文件里,然后使用make工具完成编译

#ifndef __TEXT_H__//用条件编译防止text.h被多次包含
// 使用条件编译可以避免重复编译,
// 需要注意的是要使用#ifndef语句
// 不同头文件的宏名称必须不同
// 头文件产用的宏名称应该是根据头文件的路径得来的
#define __TEXT_H__
int add(int,int);//头文件里至少要包含配对源文件里所有函数的声明
#endif  //__TEXT_H__


5、
从一个源文件里使用另一个源文件的全局变量时,需要使用extern关键字再次声明这个全局变量先在函数里添加变量,再在头文件用extern声明


6、
使用exrern关键字声明变量时,通常放在头文件里


7、不可以跨文件使用静态全局变量

练习:

多文件编程:

text1.c:

/*
* 多文件编程
* */
#include <stdio.h>
#inclu
4000
de "text1-1.h"
int main() {
int num = add(3, 8);
printf("num:%d\n", num);
return 0;
}

text1-1.c:

#include "text1-1.h"//将声明本函数的头文件包含进来
//如果还有其他函数也需要包含进
int add(int num, int num1) {
return num +num1;
}

text1-1.h:

#ifndef __TEXT_H__//如果一个文件包含了此头文件多次,使用这种方法,即在第一次编译时没有定义ABC的宏,执行了下面的所有,第二次再遇到编译此文件时ABC已经被定义,就不会再编译
// 使用条件编译可以避免重复编译,
// 粗要注意的是要使用#ifndef语句
// 不同头文件的宏名称必须不同
// 头文件产用的宏名称应该是根据头文件的路径得来的
#define __TEXT_H__
int add(int,int);//头文件里至少要包含配对源文件里所有函数的声明
#endif  //__TEXT_H__
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言