zoukankan      html  css  js  c++  java
  • 条件编译#if

    1、为什么需要条件编译

    客户的需求在不停地发生变化,一会儿需要这个功能,一会儿不需要这个功能。我们可以使用条件编译来方便地裁剪功能。

    2、条件编译语句#if

    条件编译语句#if的形式是

    1 #if expression
    2 ...
    3 #elif expression
    4 ...
    5 #elif expression
    6 ...
    7 #else
    8 ...
    9 #endif

    其中#elif分支语句是可选的,#else分支语句也是可选的。

    如果expression的逻辑值为“真”,则在预编译阶段,保留这段代码。如果逻辑值为“假”,则在预编译阶段删除这段代码。

    3、在条件编译的基础上使用defined()函数

    形式为:

    1 #if defined(some_macro)
    2 some statements

    defined()用来检测some_macro这个宏是否定义,如果定义,则返回“真”,否则,返回“假”。根据返回的逻辑值,就可以决定是否在预编译阶段删除与保留{some statements}

    tip1: #if defined(some_macro) 可以简写为 #ifdef

    tip2: #if !defined(some_macro)与#if defined(some_macro)行为相反,亦可简写为#ifndef

    tip3: don't forget #endif

     

  • 相关阅读:
    STL_算法_05_集合算法
    STL_算法_04_算术和生成算法
    STL_算法_03_拷贝和替换算法
    STL_算法_02_排序算法
    STL_算法_01_查找算法
    STL_容器使用时机
    STL_容器共通能力
    Qt5_选择文件对话框
    Qt5_当前exe所在路径
    Java 静态代理和动态代理
  • 原文地址:https://www.cnblogs.com/midhillzhou/p/6204343.html
Copyright © 2011-2022 走看看