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

来源:互联网 发布:网络t客人来ktv 编辑:程序博客网 时间:2024/05/17 09:39

转载自:http://blog.csdn.net/qustdjx/article/details/7903254
第二种方法学习了

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

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

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

  那么: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”  …..
0 0
原创粉丝点击