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》部分头文件重复包含会报错,例如全局变量的重复定义。

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

                                              

  • 相关阅读:
    linux进阶1
    linux中使用mysql数据库
    计算机是如何启动的
    宿主机mount虚拟机镜像文件
    SHA1算法原理
    KVM初始化过程
    关于内存对齐
    thread_info&内核栈
    gradlew compileDebug --stacktrace -info
    Android listview子控件的的点击事件(转)
  • 原文地址:https://www.cnblogs.com/cjhd/p/7205879.html
Copyright © 2011-2022 走看看