(1)#include文件包含指令的两种形式
函数调用出现在函数定义之前,或者调用在其他文件(如系统库)定义的函数,必须先进行函数声明。系统函数按功能被分成几大类,对应每类函数有一个头文件,其中给出了这一类函数的原型声明。
#include <stdlib.h>//声明公共的系统标准函数
#include "MyPrg.h"//声明用户自定义的常量、变量及函数
第一种形式的#include指令告诉编译预处理程序在编译器自带的或外部库的头文件中搜索要嵌入的文件,它们一般是系统提供的公共头文件,存放在系统目录中的include文件夹下,如VS2005中的C标准库函数C:\Program Files\Microsoft Visual Studio 8\VC\include\stdlib.h(cstdlib)
第二种形式的#include指令告诉编译预处理指令现在当前子目录搜索要嵌入的文件,如果没有找到文件,则在去搜索编译器自带或外部库的头文件。
一般库函数的头文件一般用第一种形式因为这种访问比较快。
(2)头文件交叉包含
//A.h
#include "B.h"
//B.h
#include "A.h"
每个.h 都用条件编译限制
#ifndef A_H
#define A_H
//头文件类容
#endif
这样只要不是真的有重复定义的类、变量,那么交叉包含就不会有问题了.
评论