C语言头文件条件编译避免重复引用

C语言头文件条件编译避免重复引用
原创xr_zy1110 最后发布于2016-04-14 17:35:54 阅读数 4849  收藏
展开
条件编译:条件编译属于三种宏定义中的一种,条件指示符的最主要目的是防止头文件的重复包含和编译,例如:一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误。        

         指令             用途

         #                  空指令,无任何效果
         #include     包含一个源代码文件
         #define       定义宏
         #undef        取消已定义的宏
         #if                如果给定条件为真,则编译下面代码
         #ifdef           如果宏已经定义,则编译下面代码
         #ifndef        如果宏没有定义,则编译下面代码
         #elif             如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
         #endif         结束一个#if……#else条件编译块
         #error          停止编译并显示错误信息
一、文件包含
       为了避免那些只能包含一次的头文件被多次包含,可以在头文件中用编译时条件来进行控制。例如:
       
        #ifndef _MY_H_
        #define _MY_H_

         要包含的内容,比如一些函数声明,一些结构体定义等。
        #endif

二、C语言中,定义自定义库函数时该如何写对应的头文件

没有强制规定,但一般遵循以下原则:

1 功能类似或相关的一组函数写在同一个头文件中;
2 头文件命名应简单,尽量短,但可以通过文件名得知内部函数功能;
3 头文件名由数字、字母、下划线组成,不要有空白字符或其它符号;
4 为防止头文件重复引用,或嵌套引用,头文件应使用条件编译包含;
5 头文件中,应遵循先类型定义,后函数声明的顺序;
6 当头文件函数声明中,用到其它头文件中定义的类型时,在头文件开始处进行引用。
————————————————
版权声明:本文为CSDN博主「xr_zy1110」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xr_zy1110/article/details/51153337

发布了110 篇原创文章 · 获赞 119 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/qq_25814297/article/details/105009244