欢迎来到天天文库
浏览记录
ID:51687481
大小:34.28 KB
页数:3页
时间:2020-03-15
《C语言文件包含与头文件写法.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C语言文件包含与头文件写法C语言文件包含的处理方法:(1)处理时间:(#include)预处理阶段(2)处理方法:在预处理阶段,系统自动对#include命令进行处理。具体做法是:将包含文件的内容复制到包含语句(#include)处,得到新的文件,然后对新的文件进行编译。一般情况下包含文件分为两种:包含.h文件和包含.c文件包含.c文件的编译和编译多文件程序(包含.h的文件就是如此)是不同的。(1)包含.c文件[cpp]viewplaincopy/*file1:main.c*/#include//#inc
2、lude"fun.c"intmain(){inta=5,b=19;c=a;sun(a,b);printf("rc=%dr",c);return0;}/*endoffile1*/[cpp]viewplaincopy[cpp]viewplaincopy/*file2:fun.c*/intc=0;voidsun(inta,intb){printf("ra+b=%dr",a+b);[cpp]viewplaincopyc=0;printf("rc=%dr",c);}/*endoffile2*/编译
3、时,直接去编译main.c文件,预处理器会先把fun.c文件的内容复制到main.c中,然后在对新的main.c进行编译只需在执行编译命令gccmain.c-omain可以通过以下命令查看预处理的结果:gcc-Emain.c-omain.cpp其实就是将fun.c文件的内容添加到了main函数之前,然后对新的文件进行编译,最终生成可执行程序。(2)编译多文件程序,对每个.c分别编译生成.o,最后链接生成可执行文件,需要注意的是一定要防止变量的重定义。所以在main.c中的main函数前增加externintc;包含.h的编
4、译[cpp]viewplaincopy/*file1:main.c*/#include//#include"fun.c"#include"fun.h"intmain(){inta=5,b=19;c=a;sun(a,b);printf("rc=%dr",c);return0;}/*endoffile1*/[cpp]viewplaincopy[cpp]viewplaincopy/*file2:fun.c*/#include"fun.h"#includeintc=0;voidsun
5、(inta,intb){printf("ra+b=%dr",a+b);c=0;printf("rc=%dr",c);}/*endoffile2*/[cpp]viewplaincopy[cpp]viewplaincopy/*file3:fun.h*/externintc;/*把c声明为外部可用的*/voidsun(inta,intb);/*sun()函数的声明
6、*//*endoffile3*/[cpp]viewplaincopy总结几下几点:(1)对应的.c文件中写变量、函数的定义(2)对应的.h文件中写变量和函数的声明(3)如果有数据类型的定义和宏定义,请写在头文件.h中(4)头文件中一定加上#ifudef。。。#define。。。#endif防止重包含的语句(5)模块的.c文件中别忘记包含自己的.h文件。对
7、文件包含命令说明以下几点:1.包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。例如以下写法都是允许的:#include"stdio.h"#include但是这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找;使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。用户编程时可根据自己文件所在的目录来选择某一种命令形式。2.一个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个inclu
8、de命令。3.文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。
此文档下载收益归作者所有