zoukankan      html  css  js  c++  java
  • #ifndef #define #endif ---含义

     

    头文件   " #ifndef   OMG_H       //"if not define omg.h"  如果不存在omg.h  (不区分大小写)

                    #define   OMG_H      //"define omg.h"             否则定义omg.h      (#endif 意思是否则不需要引入)

                    #endif"----------主要目的是防止头文件的“重复包含和编译”,即一个头文件在同一个cpp文件中被include多次。

                                              以上错误多因为include多次嵌套重复冗余造成。eg:  周星驰.h文件中#include"如花.h";

                                                                                                                               但,吴孟达.cpp   中导入#include"周星驰.h"  and #include"如花.h"

                                                                               从上面可以看到“如花.h”被重复引用

    头文件被多次重复引用会导致以下问题:

    1》增加了编译过程中的工作量,降低了编译效率,尤其对于大工程编译而言是灾难!

    2》部分头文件重复包含会报错,例如全局变量的重复定义。

          注---不一定所有的文件都需要添加以上三行。

                                              

  • 相关阅读:
    CMS前世今生
    叫练手把手教你读JVM之GC信息
    原来我还有网络天赋
    最简单的JVM内存结构图
    图解CyclicBarrier运动员接力赛
    图解定时任务线程池
    并发队列:ArrayBlockingQueue实际运用场景和原理
    ReentrantReadWriteLock读写锁简单原理案例证明
    JavaScript中的Function类型浅析
    JS数组整理
  • 原文地址:https://www.cnblogs.com/cjhd/p/7205879.html
Copyright © 2011-2022 走看看