c文件包含

文件包含时c预处理程序的另一个重要功能,被包含的文件名字必须要用双引号或一对尖括号括起来

文件包含的语法

#include <文件名>
#include "文件名"
  • 功能:一个源文件可将另一个源文件的内容全部包含进来,从而把指定的文件和当前的源程序文件连城一个源文件。
  • 处理过程:在预处理时,用被包含文件的内容替换该包含指令,再对包含后的文件作一个源文件编译
  • 一般而言,若调用标准库函数用#include <文件名>,若要包含用户自己编写的文件用#include "文件名"
  • 一个include指令只能指定一个被包含文件,允许潜逃包含。被包含的文件可以是源文件(.c)或者头文件(.h)

文件包含的搜索模式

#include <文件名>
若指定文件目录(如gcc -I选项指定的目录)则从此目录中找,否则按标准方式查找。
标准方式:从系统标准文件所在中寻找要包含的文件
#include "文件名"
先从存放c源文件的目录中查找,然后若用户指定目录(如gcc -I选项指定的目录),再从此目录中寻找要包含的文件,若找不到再按标准方式查找

文件包含的作用

  • 一个大的程序可以分为多个模块,由多个程序猿分别编程。有些公用的符号常量,结构体声明或宏定义等可单独组成一个文件,在其它文件的开头用包含指令包含该文件即可使用。
  • 可避免在每个文件开头都去书写那些公用量,从而节省时间,并减少出错

多重包含

  • 同一个文件被多次包含称为多重包含
  • 多重包含可能会出现重复定义的编译错误
  • 为了防止多重包含可使用条件编译,注意条件编译只适用于一个文件中
#ifndef __HEADERNAME_H__
#define __HEADERNAME_H__ 1
#include "headername.h"
#endif

标签: c, c文件包含

添加新评论