zoukankan      html  css  js  c++  java
  • #ifndef #define #endif 和#pragma once的区别

    相同点:#ifndef #define #endif 和 #pragma once 都是用来保证一个.h文件只被编译一次。

    不同点:

    1.

    #ifndef #define #endif 用来防止一个宏被重复定义多次;

     #pragma once 可以防止一个.h文件被一个.cpp重复include。嵌套包含时这种情况很常见,比如说.cpp中include .1h和.2h,而在.1h中又包含了.2h,这样.2h就等于被.cpp包含了2次。 #pragma once 就是为了解决这种情况而发明的,它可以提高编译时的效率。

    2.#ifndef #define #endif是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式;

     #pragma once 是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了

  • 相关阅读:
    zepto.js常用操作
    使用require.js
    iscroll.js文档
    EasyUI Resizable 可调整尺寸
    EasyUI Droppable 可放置
    EasyUI Draggable 可拖动
    EasyUI Parser 解析器
    EasyUI Easyloader 加载器
    Jquery EasyUI插件
    从MySQL随机选取数据
  • 原文地址:https://www.cnblogs.com/jswu-ustc/p/8565317.html
Copyright © 2011-2022 走看看