zoukankan      html  css  js  c++  java
  • 常用的编译宏定义:可以让代码在不同的编译情况下执行

    (1)__OPTIMIZE__  :用于release和debug的判断,当选择了__OPTIMIZE__  时,可以让代码在release时执行,在debug时不执行。示例如下:

    1
    2
    3
    4
    5
    #ifndef __OPTIMIZE__  
        //这里执行的是debug模式下  
    else  
        //这里执行的是release模式下  
    #endif

    (2)__i386__ 与 __x86_64__   :用于模拟器环境和真机环境的判断。满足该条件的代码只在模拟器下执行。示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    #if defined (__i386__) || defined (__x86_64__)  
       
        //模拟器下执行  
    #else  
       
        //真机下执行  
    #endif

    (3)__IPHONE_OS_VERSION_MAX_ALLOWED  :当前编译的SDK版本,可以与__IPHONE_9_0等宏定义进行比较,进行不同版本下代码的执行。示例如下:

    1
    2
    3
    4
    5
    if (__IPHONE_OS_VERSION_MAX_ALLOWED == __IPHONE_9_0) {  
            //如果当前SDK版本为9.0是执行这里的代码  
        }else{  
            //否则执行这里  
        }

    【16】预编译宏 #ifdef     #else   #endif

    1
    2
    3
    4
    5
    #ifdef ****  
        //代码1  
    else  
        //代码2  
    #endif

    意思是 如果标识符****已被#define命令定义过,则对代码1进行编译,否则对代码2进行编译。

    同时也有#ifndef,则与#ifdef刚好相反。

  • 相关阅读:
    phpHttp请求头
    第八周学习总结
    梦断代码阅读笔记-03
    第七周学习总结
    针对自己开发项目的NABC的认知
    梦断代码阅读笔记
    第六周学习总结
    第五周学习总结
    移动端疫情展示
    第四周学习总结
  • 原文地址:https://www.cnblogs.com/code4better/p/5501608.html
Copyright © 2011-2022 走看看