C语言头文件避免重复包含

来源:网络时间:2011-06-27 09:09:51

  假定有以下几个头文件及其包含关系为:

  File1.h,file2.h,file3.h,file4.h,file5.h,main.cpp

  那么:file3.h包含file1.h,file2.h,file4.h包含file1.h,file2.h,file5.h包含file3.h,file4.h。如许就会导致在file5中对file1和file2的反复包含,编译时就会报错。

  解决方法:

  1:应用#ifndef

  #define

  #endif

  即每个文件在定义时都写成以下情势(以file1.h为例):

  #ifndefH_FILE1

  #defineH_FILE1

  #include<stdio.h>

  #include<math.h>

  …..

  #endif

  File3.h:#ifndefH_FILE3

  #defineH_FILE3

  #include<stdio.h>

  #include<math.h>

  #inlcude”file1.h”

  #include”file2.h”

  …..

  #endif

  方法二:在每个文件的头部定义:#pragmaonce(用于解释本文件中的内容只应用一次)

  例:fiel1.h:

  #pragmaonce

  #include<stdio.h>

  #include<math.h>

  …..

  File3.h:

  #pragmaonce

  #include<stdio.h>

  #include<math.h>

  #include”file1.h”

  …..

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:rjfawu@163.com